M2.855 · Modelos avanzados de minería de datos
2023-1 · Máster universitario en Ciencia de datos (Data science)
Estudios de Informática, Multimedia y Telecomunicación
En esta práctica veremos diferentes métodos supervisados y trataremos de optimizar diferentes métricas. Veremos como los diferentes modelos clasifican los puntos y con cuales obtenemos mayor precisión. Después aplicaremos todo lo que hemos aprendido hasta ahora a un dataset nuevo simulando un caso práctico real.
Consideraciones generales:
Formato de la entrega:
!pip install tensorflow
!pip install scikeras
!pip install imbalanced-learn
Requirement already satisfied: tensorflow in /usr/local/lib/python3.10/dist-packages (2.15.0) Requirement already satisfied: absl-py>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (1.4.0) Requirement already satisfied: astunparse>=1.6.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (1.6.3) Requirement already satisfied: flatbuffers>=23.5.26 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (23.5.26) Requirement already satisfied: gast!=0.5.0,!=0.5.1,!=0.5.2,>=0.2.1 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (0.5.4) Requirement already satisfied: google-pasta>=0.1.1 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (0.2.0) Requirement already satisfied: h5py>=2.9.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (3.9.0) Requirement already satisfied: libclang>=13.0.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (16.0.6) Requirement already satisfied: ml-dtypes~=0.2.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (0.2.0) Requirement already satisfied: numpy<2.0.0,>=1.23.5 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (1.23.5) Requirement already satisfied: opt-einsum>=2.3.2 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (3.3.0) Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from tensorflow) (23.2) Requirement already satisfied: protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.20.3 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (3.20.3) Requirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (from tensorflow) (67.7.2) Requirement already satisfied: six>=1.12.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (1.16.0) Requirement already satisfied: termcolor>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (2.4.0) Requirement already satisfied: typing-extensions>=3.6.6 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (4.5.0) Requirement already satisfied: wrapt<1.15,>=1.11.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (1.14.1) Requirement already satisfied: tensorflow-io-gcs-filesystem>=0.23.1 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (0.34.0) Requirement already satisfied: grpcio<2.0,>=1.24.3 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (1.60.0) Requirement already satisfied: tensorboard<2.16,>=2.15 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (2.15.1) Requirement already satisfied: tensorflow-estimator<2.16,>=2.15.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (2.15.0) Requirement already satisfied: keras<2.16,>=2.15.0 in /usr/local/lib/python3.10/dist-packages (from tensorflow) (2.15.0) Requirement already satisfied: wheel<1.0,>=0.23.0 in /usr/local/lib/python3.10/dist-packages (from astunparse>=1.6.0->tensorflow) (0.42.0) Requirement already satisfied: google-auth<3,>=1.6.3 in /usr/local/lib/python3.10/dist-packages (from tensorboard<2.16,>=2.15->tensorflow) (2.17.3) Requirement already satisfied: google-auth-oauthlib<2,>=0.5 in /usr/local/lib/python3.10/dist-packages (from tensorboard<2.16,>=2.15->tensorflow) (1.2.0) Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.10/dist-packages (from tensorboard<2.16,>=2.15->tensorflow) (3.5.1) Requirement already satisfied: requests<3,>=2.21.0 in /usr/local/lib/python3.10/dist-packages (from tensorboard<2.16,>=2.15->tensorflow) (2.31.0) Requirement already satisfied: tensorboard-data-server<0.8.0,>=0.7.0 in /usr/local/lib/python3.10/dist-packages (from tensorboard<2.16,>=2.15->tensorflow) (0.7.2) Requirement already satisfied: werkzeug>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from tensorboard<2.16,>=2.15->tensorflow) (3.0.1) Requirement already satisfied: cachetools<6.0,>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from google-auth<3,>=1.6.3->tensorboard<2.16,>=2.15->tensorflow) (5.3.2) Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.10/dist-packages (from google-auth<3,>=1.6.3->tensorboard<2.16,>=2.15->tensorflow) (0.3.0) Requirement already satisfied: rsa<5,>=3.1.4 in /usr/local/lib/python3.10/dist-packages (from google-auth<3,>=1.6.3->tensorboard<2.16,>=2.15->tensorflow) (4.9) Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.10/dist-packages (from google-auth-oauthlib<2,>=0.5->tensorboard<2.16,>=2.15->tensorflow) (1.3.1) Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests<3,>=2.21.0->tensorboard<2.16,>=2.15->tensorflow) (3.3.2) Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests<3,>=2.21.0->tensorboard<2.16,>=2.15->tensorflow) (3.6) Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests<3,>=2.21.0->tensorboard<2.16,>=2.15->tensorflow) (2.0.7) Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests<3,>=2.21.0->tensorboard<2.16,>=2.15->tensorflow) (2023.11.17) Requirement already satisfied: MarkupSafe>=2.1.1 in /usr/local/lib/python3.10/dist-packages (from werkzeug>=1.0.1->tensorboard<2.16,>=2.15->tensorflow) (2.1.3) Requirement already satisfied: pyasn1<0.6.0,>=0.4.6 in /usr/local/lib/python3.10/dist-packages (from pyasn1-modules>=0.2.1->google-auth<3,>=1.6.3->tensorboard<2.16,>=2.15->tensorflow) (0.5.1) Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.10/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<2,>=0.5->tensorboard<2.16,>=2.15->tensorflow) (3.2.2) Collecting scikeras Downloading scikeras-0.12.0-py3-none-any.whl (27 kB) Requirement already satisfied: packaging>=0.21 in /usr/local/lib/python3.10/dist-packages (from scikeras) (23.2) Requirement already satisfied: scikit-learn>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from scikeras) (1.2.2) Requirement already satisfied: numpy>=1.17.3 in /usr/local/lib/python3.10/dist-packages (from scikit-learn>=1.0.0->scikeras) (1.23.5) Requirement already satisfied: scipy>=1.3.2 in /usr/local/lib/python3.10/dist-packages (from scikit-learn>=1.0.0->scikeras) (1.11.4) Requirement already satisfied: joblib>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from scikit-learn>=1.0.0->scikeras) (1.3.2) Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn>=1.0.0->scikeras) (3.2.0) Installing collected packages: scikeras Successfully installed scikeras-0.12.0 Requirement already satisfied: imbalanced-learn in /usr/local/lib/python3.10/dist-packages (0.10.1) Requirement already satisfied: numpy>=1.17.3 in /usr/local/lib/python3.10/dist-packages (from imbalanced-learn) (1.23.5) Requirement already satisfied: scipy>=1.3.2 in /usr/local/lib/python3.10/dist-packages (from imbalanced-learn) (1.11.4) Requirement already satisfied: scikit-learn>=1.0.2 in /usr/local/lib/python3.10/dist-packages (from imbalanced-learn) (1.2.2) Requirement already satisfied: joblib>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from imbalanced-learn) (1.3.2) Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from imbalanced-learn) (3.2.0)
import numpy as np
import pandas as pd
import pickle
import seaborn as sns
import matplotlib.pyplot as plt
# Librerias extras usadas en los ejercicios:
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import GaussianNB
from sklearn.metrics import confusion_matrix
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis
from sklearn.metrics import accuracy_score
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import GridSearchCV
from sklearn.svm import SVC
from sklearn.tree import DecisionTreeClassifier
from imblearn.over_sampling import SMOTE
%matplotlib inline
Vamos a trabajar con el conjunto de datos "Spiral", un conjunto sintético ampliamente utilizado en el aprendizaje automático y la minería de datos para problemas de clasificación no lineales. Este conjunto se compone de dos espirales entrelazadas, similares a las espirales de Arquímedes, donde cada punto está uniformemente distribuido en el plano y etiquetado con una de dos clases.
Tu tarea en esta sección es aplicar un algoritmo de clasificación para predecir la clase de un punto desconocido basándote en sus coordenadas (x, y). Este desafío es interesante debido a la naturaleza no lineal de las espirales entrelazadas, lo que pone a prueba los algoritmos de aprendizaje automático.
Sigue estos pasos:
X y sus correspondientes etiquetas o grupos (en forma numérica) en la variable y.X y y.data = pd.read_pickle('spiral.pickle')
# Convertir las dos primeras columnas en un array de numpy
X = data[['X1', 'X2']].values
# Convertir la última columna en un array de numpy
y = data['y'].values
print('Dimensiones de X', X.shape)
print('Dimensiones de y', y.shape)
# Hacer la representación gráfica
plt.scatter(X[:,0], X[:,1], c=y, cmap=plt.cm.viridis, alpha=0.5)
plt.show()
Dimensiones de X (2000, 2) Dimensiones de y (2000,)
A lo largo de los ejercicios, aprenderas a visualizar gráficamente las fronteras de decisión generadas por diferentes modelos. Para lograr esto, utilizaremos la función definida a continuación, que sigue los siguientes pasos:
Una vez completados estos pasos, estaremos listos para generar el gráfico de las fronteras de decisión y superponer los puntos reales. Así, podremos observar las áreas que el modelo identifica como pertenecientes a una clase específica y aquellas que considera de otra. Al superponer los puntos reales, evaluaré cómo el modelo clasifica correctamente los puntos en las áreas correspondientes.
En general, visualizar las fronteras de decisión me proporcionará una comprensión visual del rendimiento del modelo.
def plot_decision_boundary(clf, X, Y, cmap='Paired'):
if not isinstance(X, np.ndarray): # Si X no es un array de numpy, lo convierte
X = X.to_numpy()
h = 0.02
x_min, x_max = X[:,0].min() - 10*h, X[:,0].max() + 10*h
y_min, y_max = X[:,1].min() - 10*h, X[:,1].max() + 10*h
xx, yy = np.meshgrid(np.arange(x_min, x_max, h),
np.arange(y_min, y_max, h))
Z = clf.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)
plt.figure(figsize=(7,7))
plt.contourf(xx, yy, Z, cmap=cmap, alpha=0.25)
plt.contour(xx, yy, Z, colors='k', linewidths=0.7)
plt.scatter(X[:,0], X[:,1], c=Y, cmap=cmap, edgecolors='k', label=Y);
# Dividir el dataset:
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, stratify=y, random_state=24)
El propósito de este primer ejercicio es comprender el funcionamiento del algoritmo Naïve-Bayes, un algoritmo peculiar que se basa en el teorema de Bayes para calcular la probabilidad de que una observación pertenezca a cada una de las clases. Este modelo asume que las características de entrada son independientes entre sí, lo que permite simplificar el cálculo de las probabilidades condicionales.
# 1. Entrena un Modelo de Naïve-Bayes:
mod_naive = GaussianNB()
mod_naive.fit(X_train, y_train)
pred_train = mod_naive.predict(X_train)
pred_test = mod_naive.predict(X_test)
# 2. Calcula el accuracy del modelo train y test:
train_acc = accuracy_score(y_train, pred_train) * 100
test_acc = accuracy_score(y_test, pred_test) * 100
print(f"accuracy de train: {train_acc:.2f}%")
print(f"accuracy de test: {test_acc:.2f}%")
accuracy de train: 29.88% accuracy de test: 26.75%
# 3. Calcula la Matriz de Confusión
conf_matrix = confusion_matrix(y_test, pred_test)
# Crea un mapa de calor
sns.heatmap(conf_matrix, annot=True, fmt="d", cmap="Reds", cbar=False,
xticklabels=['Prediccion 0', 'Prediccion 1', 'Prediccion 2', 'Prediccion 3'],
yticklabels=['real 0', 'real 1', 'real 2', 'real 3'])
plt.title('Matriz de Confusión')
plt.xlabel('Predicción')
plt.ylabel('Realidad')
plt.show()
# 4. Representa Gráficamente la Frontera de Decisión:
plot_decision_boundary(mod_naive, X_test, y_test)
Respuesta de Analiza las Fronteras de Decisión:
Entendiendo el algoritmo de Bayes con varios ejemplos practicos y teoricos contrastados con diferentes fuentes se puede decir lo siguiente:
La fronteras de decisiones tienen formas extrañas, curvas en sus limites. Esto se debe a que el algoritmo de Bayes mantiene la suposicion de que las variables explicativas son independientes entre si, ademas de la distribucion normal de las mismas.
Como la naturaleza de los datos tienen forma de espiral tiene sentido que la frontera de decision presente esta forma.
Añadir que cada frontera de color representa cada unos de los valores a predecir de entre (0,1,2,3)
Respuesta de Evalúa las Predicciones en el Conjunto de Test:
El nivel de accuracy tanto en el conjunto test y train es muy bajo no llegando al 30%.
Observando la matriz de confusion del conjunto podemos ver que se clasifican incorrectamente demasiados valores. Esto se debe a que el algoritmo no se ajusta a las caracteristicas necesarias para poder implementar este algoritmo en el conjunto de datos.
Bibliografia:
https://aprendeia.com/algoritmo-naive-bayes-machine-learning/
Ahora, analizarás dos algoritmos que se basan en la transformación lineal de las características de entrada para maximizar la separación entre las clases. Estos modelos operan bajo la suposición de que las características siguen una distribución gaussiana. Esto te permitirá calcular las probabilidades condicionales de cada clase. Con estos cálculos, asignarás a cada observación la clase que presente la mayor probabilidad condicional.
# 1. Entrenar el modelo
modelo_LDA = LinearDiscriminantAnalysis()
modelo_LDA.fit(X_train, y_train)
# Predecir las respuestas
pred_train = modelo_LDA.predict(X_train)
pred_test = modelo_LDA.predict(X_test)
# 2. Calcucular el accuracy
train_acc = accuracy_score(y_train, pred_train) * 100
test_acc = accuracy_score(y_test, pred_test) * 100
print(f"accuracy de train: {train_acc:.2f}%")
print(f"accuracy de test: {test_acc:.2f}%")
accuracy de train: 25.62% accuracy de test: 22.50%
# 3 Calcular la matriz de confusion
conf_matrix = confusion_matrix(y_test, pred_test)
# Crea un mapa de calor
sns.heatmap(conf_matrix, annot=True, fmt="d", cmap="Reds", cbar=False,
xticklabels=['Prediccion 0', 'Prediccion 1', 'Prediccion 2', 'Prediccion 3'],
yticklabels=['real 0', 'real 1', 'real 2', 'real 3'])
plt.title('Matriz de Confusión')
plt.xlabel('Predicción')
plt.ylabel('Realidad')
plt.show()
plot_decision_boundary(modelo_LDA, X_test, y_test)
# 1. Entrenar el modelo
modelo_QDA = QuadraticDiscriminantAnalysis()
modelo_QDA.fit(X_train, y_train)
# Predecir las respuestas
pred_train = modelo_QDA.predict(X_train)
pred_test = modelo_QDA.predict(X_test)
# 2. Calcucular el accuracy
train_acc = accuracy_score(y_train, pred_train) * 100
test_acc = accuracy_score(y_test, pred_test) * 100
print(f"accuracy de train: {train_acc:.2f}%")
print(f"accuracy de test: {test_acc:.2f}%")
accuracy de train: 26.81% accuracy de test: 24.75%
# 3 Calcular la matriz de confusion
conf_matrix = confusion_matrix(y_test, pred_test)
# Crea un mapa de calor
sns.heatmap(conf_matrix, annot=True, fmt="d", cmap="Reds", cbar=False,
xticklabels=['Prediccion 0', 'Prediccion 1', 'Prediccion 2', 'Prediccion 3'],
yticklabels=['real 0', 'real 1', 'real 2', 'real 3'])
plt.title('Matriz de Confusión')
plt.xlabel('Predicción')
plt.ylabel('Realidad')
plt.show()
plot_decision_boundary(modelo_QDA, X_test, y_test)
En este punto, vas a entender el funcionamiento del algoritmo KNN (K-Nearest-Neighbor), que se basa en la proximidad de los puntos de datos en un espacio de características. Analizarás sus ventajas y desventajas, y comprenderás cómo los parámetros que lo componen influyen en su comportamiento.
KNN es un algoritmo de tipo supervisado basado en instancia. Esto significa:
Para entender cómo funciona KNN, sigue estos pasos:
import warnings
warnings.filterwarnings('ignore', message='^.*will change.*$', category=FutureWarning)
# 1. Entrenar el modelo
modelo_KNN = KNeighborsClassifier(n_neighbors=2)
modelo_KNN.fit(X_train, y_train)
# Predecir las respuestas
pred_train = modelo_KNN.predict(X_train)
pred_test = modelo_KNN.predict(X_test)
# 2. Calcucular el accuracy
train_acc = accuracy_score(y_train, pred_train) * 100
test_acc = accuracy_score(y_test, pred_test) * 100
print(f"accuracy de train: {train_acc:.2f}%")
print(f"accuracy de test: {test_acc:.2f}%")
accuracy de train: 87.25% accuracy de test: 78.50%
# 3 Calcular la matriz de confusion
conf_matrix = confusion_matrix(y_test, pred_test)
# Crea un mapa de calor
sns.heatmap(conf_matrix, annot=True, fmt="d", cmap="Reds", cbar=False,
xticklabels=['Prediccion 0', 'Prediccion 1', 'Prediccion 2', 'Prediccion 3'],
yticklabels=['real 0', 'real 1', 'real 2', 'real 3'])
plt.title('Matriz de Confusión')
plt.xlabel('Predicción')
plt.ylabel('Realidad')
plt.show()
plot_decision_boundary(modelo_KNN, X_test, y_test)
En el modelo que has entrenado, has fijado el parámetro n_neighbors de forma arbitraria. Sin embargo, es posible que con otro valor obtengas una mejor predicción. Para encontrar el valor óptimo de los parámetros de un modelo (hyperparameter tunning), a menudo se utiliza una búsqueda de rejilla (grid search). Esto implica entrenar un modelo para cada combinación posible de hiperparámetros y evaluarlo mediante validación cruzada (cross validation) con 5 particiones estratificadas. Luego, seleccionarás la combinación de hiperparámetros que haya obtenido los mejores resultados.
En este caso, te centrarás en optimizar un solo hiperparámetro:
Realiza este proceso para identificar el número óptimo de vecinos, lo que te permitirá mejorar la precisión de tus predicciones con el modelo KNN.
# Definimos el espacio de búsqueda
modelo_KNN = KNeighborsClassifier()
param_grid = {"n_neighbors": range(1, 21)}
grid_search = GridSearchCV(modelo_KNN, param_grid=param_grid, cv=5)
grid_search.fit(X_train, y_train)
means = grid_search.cv_results_["mean_test_score"]
stds = grid_search.cv_results_["std_test_score"]
params = grid_search.cv_results_['params']
for mean, std, pms in zip(means, stds, params):
print("Precisión promedio: {:.2f} +/- {:.2f} con parámetros {}".format(mean*100, std*100, pms))
best_params = grid_search.best_params_
print("El mejor valor de k es:", best_params["n_neighbors"])
sns.heatmap(pd.DataFrame(means, columns=['n_neighbors']))
Precisión promedio: 75.06 +/- 1.99 con parámetros {'n_neighbors': 1}
Precisión promedio: 75.87 +/- 1.03 con parámetros {'n_neighbors': 2}
Precisión promedio: 77.12 +/- 1.69 con parámetros {'n_neighbors': 3}
Precisión promedio: 77.19 +/- 0.77 con parámetros {'n_neighbors': 4}
Precisión promedio: 77.75 +/- 1.18 con parámetros {'n_neighbors': 5}
Precisión promedio: 79.00 +/- 1.22 con parámetros {'n_neighbors': 6}
Precisión promedio: 78.13 +/- 1.31 con parámetros {'n_neighbors': 7}
Precisión promedio: 78.12 +/- 1.80 con parámetros {'n_neighbors': 8}
Precisión promedio: 78.19 +/- 1.46 con parámetros {'n_neighbors': 9}
Precisión promedio: 77.81 +/- 1.71 con parámetros {'n_neighbors': 10}
Precisión promedio: 77.31 +/- 1.20 con parámetros {'n_neighbors': 11}
Precisión promedio: 77.69 +/- 1.62 con parámetros {'n_neighbors': 12}
Precisión promedio: 78.00 +/- 1.38 con parámetros {'n_neighbors': 13}
Precisión promedio: 77.81 +/- 1.44 con parámetros {'n_neighbors': 14}
Precisión promedio: 78.38 +/- 2.19 con parámetros {'n_neighbors': 15}
Precisión promedio: 78.38 +/- 1.82 con parámetros {'n_neighbors': 16}
Precisión promedio: 77.44 +/- 1.37 con parámetros {'n_neighbors': 17}
Precisión promedio: 77.50 +/- 1.61 con parámetros {'n_neighbors': 18}
Precisión promedio: 77.75 +/- 1.74 con parámetros {'n_neighbors': 19}
Precisión promedio: 77.12 +/- 1.30 con parámetros {'n_neighbors': 20}
El mejor valor de k es: 6
<Axes: >
# 1. Entrenar el modelo
modelo_KNN = KNeighborsClassifier(n_neighbors= 6)
modelo_KNN.fit(X_train, y_train)
# Predecir las respuestas
pred_train = modelo_KNN.predict(X_train)
pred_test = modelo_KNN.predict(X_test)
# 2. Calcular el accuracy
train_acc = accuracy_score(y_train, pred_train) * 100
test_acc = accuracy_score(y_test, pred_test) * 100
print(f"accuracy de train: {train_acc:.2f}%")
print(f"accuracy de test: {test_acc:.2f}%")
accuracy de train: 84.12% accuracy de test: 82.00%
# 3 Calcular la matriz de confusion
conf_matrix = confusion_matrix(y_test, pred_test)
# Crea un mapa de calor
sns.heatmap(conf_matrix, annot=True, fmt="d", cmap="Reds", cbar=False,
xticklabels=['Prediccion 0', 'Prediccion 1', 'Prediccion 2', 'Prediccion 3'],
yticklabels=['real 0', 'real 1', 'real 2', 'real 3'])
plt.title('Matriz de Confusión')
plt.xlabel('Predicción')
plt.ylabel('Realidad')
plt.show()
plot_decision_boundary(modelo_KNN, X_test, y_test)
En esta sección, vas a explorar las Máquinas de Vectores de Soporte (SVM), que se basan en el concepto del Maximal Margin Classifier y el hiperplano.
Un hiperplano en un espacio p-dimensional se define como un subespacio plano y afín de dimensiones p-1. En dos dimensiones, es una recta; en tres, un plano convencional. Para dimensiones mayores a tres, aunque no es intuitivo visualizarlo, el concepto se mantiene.
Cuando los casos son perfectamente separables de manera lineal, surgen infinitos posibles hiperplanos. Para seleccionar el clasificador óptimo, utiliza el concepto de maximal margin hyperplane, el hiperplano que se encuentra más alejado de todas las observaciones de entrenamiento. Este se define calculando la distancia perpendicular mínima (margen) de las observaciones a un hiperplano. El hiperplano óptimo es aquel que maximiza este margen.
En el proceso de optimización, debes tener en cuenta que solo las observaciones al margen o que lo violan (vectores soporte) influyen en el hiperplano. Estos vectores soporte son los que definen el clasificador.
En situaciones donde no puedes encontrar un hiperplano que separe dos clases, es decir, cuando las clases no son linealmente separables, puedes utilizar el truco del núcleo (kernel trick). Este método te permite trabajar en una dimensión nueva donde es posible encontrar un hiperplano para separar las clases. Puedes ver un ejemplo en este video.
Al igual que con el KNN, las SVM también dependen de varios hiperparámetros. En este caso, te enfocarás en optimizar dos hiperparámetros:
C: la regularización, que es el valor de penalización de los errores en la clasificación. Este valor indica el compromiso entre obtener el hiperplano con el margen más grande posible y clasificar correctamente el máximo número de ejemplos. Debes probar los siguientes valores: 0.01, 0.1, 1, 10, 50, 100 y 200.
Gama: un coeficiente que multiplica la distancia entre dos puntos en el kernel radial. En términos simples, cuanto más pequeño sea gama, más influencia tendrán dos puntos cercanos. Debes probar los valores: 0.001, 0.01, 0.1, 1 y 10.
Para validar el rendimiento del algoritmo con cada combinación de hiperparámetros, utiliza la validación cruzada (cross-validation) con 4 particiones estratificadas."
modelo_svc =SVC()
param_grid = {"C": [0.01, 0.1, 1, 10, 50, 100, 200],
"gamma": [0.001, 0.01, 0.1, 1, 10]}
grid_search = GridSearchCV(modelo_svc, param_grid=param_grid, cv=4)
grid_search.fit(X_train, y_train)
means = grid_search.cv_results_["mean_test_score"]
stds = grid_search.cv_results_["std_test_score"]
params = grid_search.cv_results_['params']
for mean, std, pms in zip(means, stds, params):
print("Precisión promedio: {:.2f} +/- {:.2f} con parámetros {}".format(mean*100, std*100, pms))
param1 = [x['C'] for x in params]
param2 = [x['gamma'] for x in params]
precisions = pd.DataFrame(zip(param1, param2, means),
columns=['C', 'gamma', 'means'])
precisions = precisions.pivot(index='C', columns='gamma', values='means')
sns.heatmap(precisions)
Precisión promedio: 25.50 +/- 0.61 con parámetros {'C': 0.01, 'gamma': 0.001}
Precisión promedio: 25.62 +/- 0.80 con parámetros {'C': 0.01, 'gamma': 0.01}
Precisión promedio: 30.37 +/- 1.63 con parámetros {'C': 0.01, 'gamma': 0.1}
Precisión promedio: 74.00 +/- 2.19 con parámetros {'C': 0.01, 'gamma': 1}
Precisión promedio: 75.06 +/- 0.62 con parámetros {'C': 0.01, 'gamma': 10}
Precisión promedio: 25.50 +/- 0.61 con parámetros {'C': 0.1, 'gamma': 0.001}
Precisión promedio: 25.38 +/- 0.72 con parámetros {'C': 0.1, 'gamma': 0.01}
Precisión promedio: 49.06 +/- 1.01 con parámetros {'C': 0.1, 'gamma': 0.1}
Precisión promedio: 78.81 +/- 1.64 con parámetros {'C': 0.1, 'gamma': 1}
Precisión promedio: 78.00 +/- 1.69 con parámetros {'C': 0.1, 'gamma': 10}
Precisión promedio: 25.69 +/- 0.37 con parámetros {'C': 1, 'gamma': 0.001}
Precisión promedio: 28.00 +/- 1.83 con parámetros {'C': 1, 'gamma': 0.01}
Precisión promedio: 73.56 +/- 2.24 con parámetros {'C': 1, 'gamma': 0.1}
Precisión promedio: 79.12 +/- 2.44 con parámetros {'C': 1, 'gamma': 1}
Precisión promedio: 77.62 +/- 0.80 con parámetros {'C': 1, 'gamma': 10}
Precisión promedio: 25.19 +/- 0.45 con parámetros {'C': 10, 'gamma': 0.001}
Precisión promedio: 54.81 +/- 3.23 con parámetros {'C': 10, 'gamma': 0.01}
Precisión promedio: 78.19 +/- 1.60 con parámetros {'C': 10, 'gamma': 0.1}
Precisión promedio: 78.88 +/- 1.66 con parámetros {'C': 10, 'gamma': 1}
Precisión promedio: 77.44 +/- 1.51 con parámetros {'C': 10, 'gamma': 10}
Precisión promedio: 26.62 +/- 1.18 con parámetros {'C': 50, 'gamma': 0.001}
Precisión promedio: 61.44 +/- 2.69 con parámetros {'C': 50, 'gamma': 0.01}
Precisión promedio: 79.19 +/- 1.77 con parámetros {'C': 50, 'gamma': 0.1}
Precisión promedio: 79.31 +/- 0.91 con parámetros {'C': 50, 'gamma': 1}
Precisión promedio: 75.25 +/- 2.26 con parámetros {'C': 50, 'gamma': 10}
Precisión promedio: 28.44 +/- 2.03 con parámetros {'C': 100, 'gamma': 0.001}
Precisión promedio: 64.94 +/- 2.96 con parámetros {'C': 100, 'gamma': 0.01}
Precisión promedio: 78.81 +/- 1.79 con parámetros {'C': 100, 'gamma': 0.1}
Precisión promedio: 79.00 +/- 0.64 con parámetros {'C': 100, 'gamma': 1}
Precisión promedio: 74.87 +/- 2.62 con parámetros {'C': 100, 'gamma': 10}
Precisión promedio: 32.50 +/- 1.15 con parámetros {'C': 200, 'gamma': 0.001}
Precisión promedio: 67.12 +/- 3.42 con parámetros {'C': 200, 'gamma': 0.01}
Precisión promedio: 79.31 +/- 1.68 con parámetros {'C': 200, 'gamma': 0.1}
Precisión promedio: 78.56 +/- 1.10 con parámetros {'C': 200, 'gamma': 1}
Precisión promedio: 74.00 +/- 2.83 con parámetros {'C': 200, 'gamma': 10}
<Axes: xlabel='gamma', ylabel='C'>
modelo_svc = SVC(C=50, gamma=1)
modelo_svc.fit(X_train, y_train)
# Predecir las respuestas
pred_train = modelo_svc.predict(X_train)
pred_test = modelo_svc.predict(X_test)
train_acc = accuracy_score(y_train, pred_train) * 100
test_acc = accuracy_score(y_test, pred_test) * 100
print(f"accuracy de train: {train_acc:.2f}%")
print(f"accuracy de test: {test_acc:.2f}%")
accuracy de train: 82.62% accuracy de test: 84.25%
# 3 Calcular la matriz de confusion
conf_matrix = confusion_matrix(y_test, pred_test)
# Crea un mapa de calor
sns.heatmap(conf_matrix, annot=True, fmt="d", cmap="Reds", cbar=False,
xticklabels=['Prediccion 0', 'Prediccion 1', 'Prediccion 2', 'Prediccion 3'],
yticklabels=['real 0', 'real 1', 'real 2', 'real 3'])
plt.title('Matriz de Confusión')
plt.xlabel('Predicción')
plt.ylabel('Realidad')
plt.show()
plot_decision_boundary(modelo_svc, X_test, y_test)
En esta sección, vas a explorar los árboles de decisión, modelos predictivos que se basan en reglas binarias (si/no) para clasificar las observaciones según sus atributos y predecir el valor de la variable respuesta. Estos árboles pueden ser clasificadores, como en tu ejemplo, o regresores para predecir variables continuas.
Para construir un árbol, sigue el algoritmo de recursive binary splitting:
Comprender estos pasos te ayudará a entender cómo los árboles de decisión crean divisiones binarias para clasificar los datos y cómo estos pueden aplicarse tanto para clasificación como para regresión.
# 1. Entrenar el modelo
modelo_arbol = DecisionTreeClassifier()
modelo_arbol.fit(X_train, y_train)
# Predecir las respuestas
pred_train = modelo_arbol.predict(X_train)
pred_test = modelo_arbol.predict(X_test)
train_acc = accuracy_score(y_train, pred_train) * 100
test_acc = accuracy_score(y_test, pred_test) * 100
print(f"accuracy de train: {train_acc:.2f}%")
print(f"accuracy de test: {test_acc:.2f}%")
accuracy de train: 100.00% accuracy de test: 74.00%
# 3 Calcular la matriz de confusion
conf_matrix = confusion_matrix(y_test, pred_test)
# Crea un mapa de calor
sns.heatmap(conf_matrix, annot=True, fmt="d", cmap="Reds", cbar=False,
xticklabels=['Prediccion 0', 'Prediccion 1', 'Prediccion 2', 'Prediccion 3'],
yticklabels=['real 0', 'real 1', 'real 2', 'real 3'])
plt.title('Matriz de Confusión')
plt.xlabel('Predicción')
plt.ylabel('Realidad')
plt.show()
plot_decision_boundary(modelo_arbol, X_test, y_test)
from sklearn import tree
plt.figure(figsize=(30,30))
tree.plot_tree(modelo_arbol,filled=True)
plt.show()
El proceso de construcción de árboles descrito tiende a reducir rápidamente el error de entrenamiento, por lo que generalmente el modelo se ajusta muy bien a las observaciones utilizadas como entrenamiento (conjunto de train). Como consecuencia, los árboles de decisión tienden al overfitting.
Para evitar el overfitting en los árboles de decisión, es crucial que modifiques ciertos hiperparámetros del modelo. Aquí te explico cómo hacerlo:
max_depth, que define la profundidad máxima del árbol. Deberás explorar los valores entre 4 y 10 para encontrar el equilibrio adecuado entre la complejidad del modelo y su capacidad para generalizar.min_samples_split, que es el número mínimo de observaciones que debe tener una hoja del árbol antes de considerar una división. Experimenta con valores como 2, 10, 20, 50 y 100 para asegurarte de que el árbol no se vuelva demasiado específico para las observaciones de entrenamiento.Ajustando estos hiperparámetros, podrás controlar la tendencia del árbol de decisión a sobreajustarse al conjunto de entrenamiento, mejorando así su capacidad para realizar predicciones efectivas en nuevos datos."
modelo_arbol = DecisionTreeClassifier()
param_grid = {"max_depth": range(4, 10), "min_samples_split": [2, 10, 20, 50, 100]}
grid_search = GridSearchCV(modelo_arbol, param_grid=param_grid, cv=4)
grid_search.fit(X_train, y_train)
means = grid_search.cv_results_["mean_test_score"]
stds = grid_search.cv_results_["std_test_score"]
params = grid_search.cv_results_['params']
for mean, std, pms in zip(means, stds, params):
print("Precisión promedio: {:.2f} +/- {:.2f} con parámetros {}".format(mean*100, std*100, pms))
Precisión promedio: 46.69 +/- 2.15 con parámetros {'max_depth': 4, 'min_samples_split': 2}
Precisión promedio: 46.69 +/- 2.15 con parámetros {'max_depth': 4, 'min_samples_split': 10}
Precisión promedio: 46.56 +/- 2.17 con parámetros {'max_depth': 4, 'min_samples_split': 20}
Precisión promedio: 45.75 +/- 1.94 con parámetros {'max_depth': 4, 'min_samples_split': 50}
Precisión promedio: 43.56 +/- 2.15 con parámetros {'max_depth': 4, 'min_samples_split': 100}
Precisión promedio: 52.81 +/- 4.42 con parámetros {'max_depth': 5, 'min_samples_split': 2}
Precisión promedio: 52.81 +/- 4.42 con parámetros {'max_depth': 5, 'min_samples_split': 10}
Precisión promedio: 52.69 +/- 4.42 con parámetros {'max_depth': 5, 'min_samples_split': 20}
Precisión promedio: 51.19 +/- 4.07 con parámetros {'max_depth': 5, 'min_samples_split': 50}
Precisión promedio: 48.31 +/- 3.68 con parámetros {'max_depth': 5, 'min_samples_split': 100}
Precisión promedio: 57.44 +/- 6.08 con parámetros {'max_depth': 6, 'min_samples_split': 2}
Precisión promedio: 57.31 +/- 6.01 con parámetros {'max_depth': 6, 'min_samples_split': 10}
Precisión promedio: 56.88 +/- 5.86 con parámetros {'max_depth': 6, 'min_samples_split': 20}
Precisión promedio: 55.38 +/- 5.60 con parámetros {'max_depth': 6, 'min_samples_split': 50}
Precisión promedio: 51.87 +/- 5.53 con parámetros {'max_depth': 6, 'min_samples_split': 100}
Precisión promedio: 62.56 +/- 6.47 con parámetros {'max_depth': 7, 'min_samples_split': 2}
Precisión promedio: 62.12 +/- 6.08 con parámetros {'max_depth': 7, 'min_samples_split': 10}
Precisión promedio: 61.25 +/- 6.11 con parámetros {'max_depth': 7, 'min_samples_split': 20}
Precisión promedio: 59.88 +/- 5.87 con parámetros {'max_depth': 7, 'min_samples_split': 50}
Precisión promedio: 56.00 +/- 5.96 con parámetros {'max_depth': 7, 'min_samples_split': 100}
Precisión promedio: 71.06 +/- 3.29 con parámetros {'max_depth': 8, 'min_samples_split': 2}
Precisión promedio: 70.44 +/- 3.56 con parámetros {'max_depth': 8, 'min_samples_split': 10}
Precisión promedio: 69.12 +/- 3.73 con parámetros {'max_depth': 8, 'min_samples_split': 20}
Precisión promedio: 66.06 +/- 2.85 con parámetros {'max_depth': 8, 'min_samples_split': 50}
Precisión promedio: 60.19 +/- 4.39 con parámetros {'max_depth': 8, 'min_samples_split': 100}
Precisión promedio: 73.25 +/- 3.05 con parámetros {'max_depth': 9, 'min_samples_split': 2}
Precisión promedio: 72.44 +/- 3.32 con parámetros {'max_depth': 9, 'min_samples_split': 10}
Precisión promedio: 71.25 +/- 3.48 con parámetros {'max_depth': 9, 'min_samples_split': 20}
Precisión promedio: 67.81 +/- 2.65 con parámetros {'max_depth': 9, 'min_samples_split': 50}
Precisión promedio: 61.31 +/- 4.52 con parámetros {'max_depth': 9, 'min_samples_split': 100}
modelo_arbol = DecisionTreeClassifier()
param_grid = {"max_depth": range(4, 10),
"min_samples_split": [2, 10, 20, 50, 100]}
grid_search = GridSearchCV(modelo_arbol, param_grid=param_grid, cv=4)
grid_search.fit(X_train, y_train)
means = grid_search.cv_results_["mean_test_score"]
stds = grid_search.cv_results_["std_test_score"]
params = grid_search.cv_results_['params']
for mean, std, pms in zip(means, stds, params):
print("Precisión promedio: {:.2f} +/- {:.2f} con parámetros {}".format(mean*100, std*100, pms))
param1 = [x['max_depth'] for x in params]
param2 = [x['min_samples_split'] for x in params]
precisions = pd.DataFrame(zip(param1, param2, means),
columns=['max_depth', 'min_samples_split', 'means'])
precisions = precisions.pivot(index='max_depth', columns='min_samples_split', values='means')
sns.heatmap(precisions)
Precisión promedio: 46.69 +/- 2.15 con parámetros {'max_depth': 4, 'min_samples_split': 2}
Precisión promedio: 46.69 +/- 2.15 con parámetros {'max_depth': 4, 'min_samples_split': 10}
Precisión promedio: 46.56 +/- 2.17 con parámetros {'max_depth': 4, 'min_samples_split': 20}
Precisión promedio: 45.75 +/- 1.94 con parámetros {'max_depth': 4, 'min_samples_split': 50}
Precisión promedio: 43.56 +/- 2.15 con parámetros {'max_depth': 4, 'min_samples_split': 100}
Precisión promedio: 52.69 +/- 4.42 con parámetros {'max_depth': 5, 'min_samples_split': 2}
Precisión promedio: 52.81 +/- 4.42 con parámetros {'max_depth': 5, 'min_samples_split': 10}
Precisión promedio: 52.69 +/- 4.42 con parámetros {'max_depth': 5, 'min_samples_split': 20}
Precisión promedio: 51.19 +/- 4.07 con parámetros {'max_depth': 5, 'min_samples_split': 50}
Precisión promedio: 48.31 +/- 3.68 con parámetros {'max_depth': 5, 'min_samples_split': 100}
Precisión promedio: 57.50 +/- 6.09 con parámetros {'max_depth': 6, 'min_samples_split': 2}
Precisión promedio: 57.31 +/- 6.01 con parámetros {'max_depth': 6, 'min_samples_split': 10}
Precisión promedio: 56.88 +/- 5.86 con parámetros {'max_depth': 6, 'min_samples_split': 20}
Precisión promedio: 55.38 +/- 5.60 con parámetros {'max_depth': 6, 'min_samples_split': 50}
Precisión promedio: 51.87 +/- 5.53 con parámetros {'max_depth': 6, 'min_samples_split': 100}
Precisión promedio: 62.06 +/- 5.95 con parámetros {'max_depth': 7, 'min_samples_split': 2}
Precisión promedio: 62.12 +/- 6.08 con parámetros {'max_depth': 7, 'min_samples_split': 10}
Precisión promedio: 61.25 +/- 6.11 con parámetros {'max_depth': 7, 'min_samples_split': 20}
Precisión promedio: 59.88 +/- 5.87 con parámetros {'max_depth': 7, 'min_samples_split': 50}
Precisión promedio: 56.00 +/- 5.96 con parámetros {'max_depth': 7, 'min_samples_split': 100}
Precisión promedio: 70.81 +/- 2.86 con parámetros {'max_depth': 8, 'min_samples_split': 2}
Precisión promedio: 70.44 +/- 3.56 con parámetros {'max_depth': 8, 'min_samples_split': 10}
Precisión promedio: 69.12 +/- 3.73 con parámetros {'max_depth': 8, 'min_samples_split': 20}
Precisión promedio: 66.06 +/- 2.85 con parámetros {'max_depth': 8, 'min_samples_split': 50}
Precisión promedio: 60.19 +/- 4.39 con parámetros {'max_depth': 8, 'min_samples_split': 100}
Precisión promedio: 73.31 +/- 2.51 con parámetros {'max_depth': 9, 'min_samples_split': 2}
Precisión promedio: 72.50 +/- 3.33 con parámetros {'max_depth': 9, 'min_samples_split': 10}
Precisión promedio: 71.25 +/- 3.48 con parámetros {'max_depth': 9, 'min_samples_split': 20}
Precisión promedio: 67.81 +/- 2.65 con parámetros {'max_depth': 9, 'min_samples_split': 50}
Precisión promedio: 61.31 +/- 4.52 con parámetros {'max_depth': 9, 'min_samples_split': 100}
<Axes: xlabel='min_samples_split', ylabel='max_depth'>
# 1. Entrenar el modelo
modelo_arbol = DecisionTreeClassifier(max_depth=9, min_samples_split=2)
modelo_arbol.fit(X_train, y_train)
# Predecir las respuestas
pred_train = modelo_arbol.predict(X_train)
pred_test = modelo_arbol.predict(X_test)
train_acc = accuracy_score(y_train, pred_train) * 100
test_acc = accuracy_score(y_test, pred_test) * 100
print(f"accuracy de train: {train_acc:.2f}%")
print(f"accuracy de test: {test_acc:.2f}%")
accuracy de train: 84.62% accuracy de test: 77.00%
# 3 Calcular la matriz de confusion
conf_matrix = confusion_matrix(y_test, pred_test)
# Crea un mapa de calor
sns.heatmap(conf_matrix, annot=True, fmt="d", cmap="Reds", cbar=False,
xticklabels=['Prediccion 0', 'Prediccion 1', 'Prediccion 2', 'Prediccion 3'],
yticklabels=['real 0', 'real 1', 'real 2', 'real 3'])
plt.title('Matriz de Confusión')
plt.xlabel('Predicción')
plt.ylabel('Realidad')
plt.show()
plot_decision_boundary(modelo_arbol, X_test, y_test)
plt.figure(figsize=(30,30))
tree.plot_tree(modelo_arbol,filled=True)
plt.show()
Como experto en análisis de datos, sabemos la importancia de que las empresas de tarjetas de crédito puedan identificar y prevenir transacciones fraudulentas para proteger a sus clientes. En este sentido, estudiaremos un conjunto de datos que contiene información sobre transacciones realizadas con tarjetas de crédito en septiembre de 2013 por titulares de tarjetas europeos.
Este conjunto de datos presenta transacciones ocurridas en dos días, donde se registraron 492 casos de fraude de un total de 284,807 transacciones. Es importante destacar que todas las variables de entrada son numéricas y fueron obtenidas a través de una transformación PCA. Lamentablemente, debido a razones de confidencialidad, no se pueden proporcionar las características originales ni más información sobre los datos. Las variables V1 a V28 representan los componentes principales obtenidos con PCA, mientras que "Time" e "Amount" son las únicas variables que no han sido transformadas con PCA. La variable "Time" indica los segundos transcurridos entre cada transacción y la primera transacción del conjunto de datos, mientras que "Amount" representa el monto de la transacción. La variable "Class" es la variable de respuesta y toma el valor 1 en caso de fraude y 0 en caso contrario.
Fuente: https://www.kaggle.com/datasets/mlg-ulb/creditcardfraud
El objetivo de esta sección es abordar el análisis de este conjunto de datos de varias maneras para identificar y prevenir transacciones fraudulentas. Aquí tienes algunos pasos que podrías seguir:
Análisis Exploratorio de Datos (EDA): Comienza explorando el conjunto de datos para comprender su estructura y distribución. Dado que las transacciones fraudulentas son mucho menos frecuentes que las transacciones normales, este es un ejemplo de conjunto de datos desbalanceado. Observa la distribución de las variables "Time" y "Amount" y cómo se relacionan con la variable objetivo "Class".
Preprocesamiento de Datos: Como las variables han sido transformadas usando PCA, es probable que no requieras de mucha transformación adicional. Sin embargo, considera normalizar las variables "Time" y "Amount" para que estén en la misma escala que las componentes principales.
Modelización: Utiliza un perceptrón multicapa como herramienta de clasificación. Dado que el objetivo es identificar transacciones fraudulentas, es vital centrarse en métricas como la precisión, la sensibilidad (recall), el valor F1 y el área bajo la curva ROC (AUC-ROC).
Ajuste de Hiperparámetros: Utiliza la validación cruzada para evaluar de una manera más fiable el rendimiento de tu modelos. Además, ajusta los hiperparámetros para mejorar la precisión de tus modelos.
Este enfoque integral te permitirá no solo construir un modelo efectivo para detectar fraudes sino también comprender mejor las características subyacentes de las transacciones fraudulentas en el conjunto de datos.
Lo primero que debes hacer es cargar el conjunto de datos y visualizar las primeras filas para obtener una vista previa. Asegúrate de verificar lo siguiente:
Estos pasos te proporcionarán una comprensión inicial clara y detallada del conjunto de datos con el que estás trabajando."
data = pd.read_csv('https://storage.googleapis.com/download.tensorflow.org/data/creditcard.csv')
data.head()
| Time | V1 | V2 | V3 | V4 | V5 | V6 | V7 | V8 | V9 | ... | V21 | V22 | V23 | V24 | V25 | V26 | V27 | V28 | Amount | Class | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0.0 | -1.359807 | -0.072781 | 2.536347 | 1.378155 | -0.338321 | 0.462388 | 0.239599 | 0.098698 | 0.363787 | ... | -0.018307 | 0.277838 | -0.110474 | 0.066928 | 0.128539 | -0.189115 | 0.133558 | -0.021053 | 149.62 | 0 |
| 1 | 0.0 | 1.191857 | 0.266151 | 0.166480 | 0.448154 | 0.060018 | -0.082361 | -0.078803 | 0.085102 | -0.255425 | ... | -0.225775 | -0.638672 | 0.101288 | -0.339846 | 0.167170 | 0.125895 | -0.008983 | 0.014724 | 2.69 | 0 |
| 2 | 1.0 | -1.358354 | -1.340163 | 1.773209 | 0.379780 | -0.503198 | 1.800499 | 0.791461 | 0.247676 | -1.514654 | ... | 0.247998 | 0.771679 | 0.909412 | -0.689281 | -0.327642 | -0.139097 | -0.055353 | -0.059752 | 378.66 | 0 |
| 3 | 1.0 | -0.966272 | -0.185226 | 1.792993 | -0.863291 | -0.010309 | 1.247203 | 0.237609 | 0.377436 | -1.387024 | ... | -0.108300 | 0.005274 | -0.190321 | -1.175575 | 0.647376 | -0.221929 | 0.062723 | 0.061458 | 123.50 | 0 |
| 4 | 2.0 | -1.158233 | 0.877737 | 1.548718 | 0.403034 | -0.407193 | 0.095921 | 0.592941 | -0.270533 | 0.817739 | ... | -0.009431 | 0.798278 | -0.137458 | 0.141267 | -0.206010 | 0.502292 | 0.219422 | 0.215153 | 69.99 | 0 |
5 rows × 31 columns
data.info()
<class 'pandas.core.frame.DataFrame'> RangeIndex: 284807 entries, 0 to 284806 Data columns (total 31 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 Time 284807 non-null float64 1 V1 284807 non-null float64 2 V2 284807 non-null float64 3 V3 284807 non-null float64 4 V4 284807 non-null float64 5 V5 284807 non-null float64 6 V6 284807 non-null float64 7 V7 284807 non-null float64 8 V8 284807 non-null float64 9 V9 284807 non-null float64 10 V10 284807 non-null float64 11 V11 284807 non-null float64 12 V12 284807 non-null float64 13 V13 284807 non-null float64 14 V14 284807 non-null float64 15 V15 284807 non-null float64 16 V16 284807 non-null float64 17 V17 284807 non-null float64 18 V18 284807 non-null float64 19 V19 284807 non-null float64 20 V20 284807 non-null float64 21 V21 284807 non-null float64 22 V22 284807 non-null float64 23 V23 284807 non-null float64 24 V24 284807 non-null float64 25 V25 284807 non-null float64 26 V26 284807 non-null float64 27 V27 284807 non-null float64 28 V28 284807 non-null float64 29 Amount 284807 non-null float64 30 Class 284807 non-null int64 dtypes: float64(30), int64(1) memory usage: 67.4 MB
El Análisis Exploratorio de Datos (EDA, por sus siglas en inglés) en ciencia de datos es un enfoque inicial para comprender y resumir el contenido de un conjunto de datos. Este proceso implica varias técnicas y pasos:
Inspección de Datos: Se comienza por revisar los datos brutos para identificar su estructura, tamaño y tipo (como numérico, categórico). Esto incluye detectar valores faltantes o inusuales.
Resumen Estadístico: Se calculan estadísticas descriptivas como la media, mediana, rango, varianza y desviación estándar para obtener una idea general de las tendencias y patrones en los datos.
Visualización de Datos: Se utilizan gráficos y diagramas (como histogramas, gráficos de caja, diagramas de dispersión) para visualizar distribuciones, relaciones entre variables y posibles anomalías. Esto ayuda a comprender mejor los datos y a identificar patrones o irregularidades.
Análisis de Relaciones y Correlaciones: Se exploran las relaciones entre diferentes variables para entender cómo se influencian entre sí. Esto puede implicar el uso de matrices de correlación y gráficos de dispersión.
Identificación de Patrones y Anomalías: Se buscan patrones consistentes o anomalías (como valores atípicos) que puedan sugerir tendencias o problemas en los datos.
El EDA es una fase crítica en cualquier proyecto de ciencia de datos, ya que proporciona una comprensión profunda y una base sólida para posteriores análisis y modelado.
# 1. Calcula las frecuencias de la variable objetivo (`Class`) en tu conjunto de datos.
counts = data['Class'].value_counts()
print(counts)
0 284315 1 492 Name: Class, dtype: int64
# 2. Crea un gráfico de barras para visualizar estas frecuencias.
sns.countplot(x='Class', data=data)
plt.show()
fraud_data = data[data['Class'] == 1]
non_fraud_data = data[data['Class'] == 0]
# Seleccionar las primeras 30 variables para el histograma
variables = data.columns[1:31]
# Organizar los histogramas en un formato de 10 filas y 3 columnas
fig, axes = plt.subplots(nrows=10, ncols=3, figsize=(15, 20))
# Iterar sobre las variables y crear histogramas en cada subplot
for i, variable in enumerate(variables):
row = i // 3
col = i % 3
axes[row, col].hist(fraud_data[variable], bins=50, alpha=0.5, label='Fraude', color='red')
axes[row, col].hist(non_fraud_data[variable], bins=50, alpha=0.5, label='No Fraude', color='green')
axes[row, col].set_title(variable)
axes[row, col].legend()
# Ajustar el diseño y mostrar el gráfico
plt.tight_layout()
plt.show()
El preprocesamiento de datos en ciencia de datos es un paso crucial que involucra la preparación y transformación de datos brutos en un formato adecuado para su posterior análisis y modelado. Este proceso incluye varias tareas esenciales:
Limpieza de Datos: Se eliminan o corrigen datos erróneos, incompletos, inexactos o irrelevantes. Esto puede incluir tratar con valores faltantes, corregir errores de entrada y manejar outliers.
Normalización y Escalado: Los datos se transforman para que estén en una escala común, sin distorsionar diferencias en los rangos de valores ni perder información. Por ejemplo, escalado min-max o estandarización.
Codificación de Variables Categóricas: Las variables categóricas (como género o país) se convierten en formatos numéricos para que puedan ser procesadas por algoritmos de aprendizaje automático, utilizando técnicas como codificación one-hot o codificación de etiquetas.
División de Datos: Los datos se dividen en conjuntos de entrenamiento, validación y prueba, permitiendo entrenar modelos, afinar hiperparámetros y evaluar el rendimiento del modelo de manera efectiva.
Manejo de Datos Desbalanceados: En casos de conjuntos de datos desbalanceados, se aplican técnicas como sobremuestreo o submuestreo para asegurar que el modelo no esté sesgado hacia la clase más frecuente.
Ingeniería de Características: Se crean nuevas variables (características) a partir de los datos existentes para mejorar la capacidad del modelo para aprender patrones y hacer predicciones.
El preprocesamiento es esencial para mejorar la calidad de los datos y hacerlos más adecuados y efectivos para análisis y modelado en proyectos de ciencia de datos.
df_new = data.copy()
df_new.pop('Time')
df_new['Amount'] = df_new['Amount'] + 0.001
df_new['Amount'] = df_new['Amount'] + 0.001
from sklearn.model_selection import train_test_split
from tensorflow.keras.utils import to_categorical
X = df_new.iloc[:, (df_new.columns != 'Class')]
y = df_new.iloc[:, df_new.columns == 'Class']
X_train, X_test, y_train, y_test = train_test_split(X, to_categorical(y), test_size=0.2, stratify=y, random_state=24)
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
print('Dimensiones del conjunto de descriptores originales:', X.shape)
print('Dimensiones del conjunto de descriptores de entrenamiento:', X_train.shape)
print('Dimensiones del conjunto de descriptores de prueba:', X_test.shape)
Dimensiones del conjunto de descriptores originales: (284807, 29) Dimensiones del conjunto de descriptores de entrenamiento: (227845, 29) Dimensiones del conjunto de descriptores de prueba: (56962, 29)
El MLP (Perceptrón Multicapa) es, sin duda, una poderosa herramienta en el campo del aprendizaje automático y la inteligencia artificial. Puede manejar tareas de clasificación y regresión, lo que lo hace versátil para una variedad de problemas. Su capacidad para modelar relaciones no lineales complejas lo convierte en una elección popular cuando los datos no siguen patrones lineales simples.
Aquí hay algunos puntos clave sobre el MLP:
Capas y Neuronas: El MLP consta de múltiples capas de neuronas, que incluyen una capa de entrada, una o más capas ocultas y una capa de salida. Cada neurona en una capa está conectada a todas las neuronas en la capa siguiente.
Funciones de Activación: Para introducir no linealidad en el modelo, se utilizan funciones de activación en las neuronas, como la función sigmoide, ReLU (Rectified Linear Unit) o tangente hiperbólica. Estas funciones permiten al MLP capturar patrones complejos en los datos.
Aprendizaje Supervisado: El entrenamiento del MLP implica ajustar los pesos de las conexiones entre neuronas para minimizar la diferencia entre las salidas producidas por la red y las salidas deseadas. Esto se hace utilizando algoritmos de aprendizaje supervisado, como el descenso del gradiente.
Ajuste de Hiperparámetros: Al igual que otros modelos de aprendizaje automático, el MLP tiene hiperparámetros importantes, como el número de capas ocultas, el número de neuronas en cada capa, la función de activación y la tasa de aprendizaje. A menudo, es necesario ajustar estos hiperparámetros para obtener un buen rendimiento en una tarea específica.
Generalización: Uno de los desafíos en el entrenamiento de MLP es evitar el sobreajuste (overfitting), donde el modelo se adapta demasiado a los datos de entrenamiento y no generaliza bien a datos nuevos. La regularización y la validación cruzada son técnicas comunes para abordar este problema.
En este contexto de detección de fraude en transacciones de tarjetas de crédito, el MLP puede ser una excelente opción para modelar patrones complejos que indiquen transacciones fraudulentas. Sin embargo, es importante ajustar y evaluar cuidadosamente el modelo para garantizar que funcione de manera efectiva en esta tarea crítica de seguridad.
Crear y entrenar un MLP con 4 capas ocultas, cada una con 20 neuronas y función de activación ReLU es una excelente elección. La función de activación ReLU (Rectified Linear Unit) es comúnmente utilizada en capas ocultas de redes neuronales debido a su capacidad para introducir no linealidad en el modelo, lo que le permite aprender patrones complejos en los datos.
Por otra parte, el enfoque de apilar capas secuencialmente utilizando la clase Sequential de Keras es una forma eficaz y sencilla de construir modelos de redes neuronales. Luego, durante el entrenamiento, se pueden realizar ajustes en los hiperparámetros y la arquitectura del modelo para optimizar su rendimiento en la tarea específica.
from keras.models import Sequential
from keras.layers import Dense
EPOCHS = 100
BATCH_SIZE = 2048
# Definir el modelo
model = Sequential()
model.add(Dense(20, input_dim=X.shape[1], activation='relu'))
model.add(Dense(20, activation='relu'))
model.add(Dense(20, activation='relu'))
model.add(Dense(20, activation='relu'))
model.add(Dense(2, activation='sigmoid'))
model.summary()
# Compilar el modelo
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# Entrenar el modelo
history = model.fit(X_train, y_train, epochs=EPOCHS, batch_size=BATCH_SIZE, validation_split=0.2, verbose=0)
Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
dense (Dense) (None, 20) 600
dense_1 (Dense) (None, 20) 420
dense_2 (Dense) (None, 20) 420
dense_3 (Dense) (None, 20) 420
dense_4 (Dense) (None, 2) 42
=================================================================
Total params: 1902 (7.43 KB)
Trainable params: 1902 (7.43 KB)
Non-trainable params: 0 (0.00 Byte)
_________________________________________________________________
import matplotlib.pyplot as plt
hist = history.history
x_arr = np.arange(len(hist['loss'])) + 1
fig = plt.figure(figsize=(12, 4))
ax = fig.add_subplot(1, 2, 1)
ax.plot(x_arr, hist['loss'], '-o', label='Train loss')
ax.plot(x_arr, hist['val_loss'], '--<', label='Validation loss')
ax.set_xlabel('Epoch', size=15)
ax.set_ylabel('Loss', size=15)
ax.legend(fontsize=15)
ax = fig.add_subplot(1, 2, 2)
ax.plot(x_arr, hist['accuracy'], '-o', label='Train acc.')
ax.plot(x_arr, hist['val_accuracy'], '--<', label='Validation acc.')
ax.legend(fontsize=15)
ax.set_xlabel('Epoch', size=15)
ax.set_ylabel('Accuracy', size=15)
#plt.savefig('figures/15_12.png', dpi=300)
plt.show()
from sklearn.metrics import confusion_matrix, accuracy_score, recall_score, f1_score, roc_auc_score
y_pred = model.predict(X_test)
# Calcular la matriz de confusión
conf_matrix = confusion_matrix(np.argmax(y_test, axis=1), np.argmax(y_pred, axis=1))
# Crea un mapa de calor
sns.heatmap(conf_matrix, annot=True, fmt="d", cmap="Reds", cbar=False,
xticklabels=['Prediccion 0', 'Prediccion 1'],
yticklabels=['real 0', 'real 1'])
plt.title('Matriz de Confusión')
plt.xlabel('Predicción')
plt.ylabel('Realidad')
plt.show()
# Calcular métricas de evaluación
accuracy = accuracy_score(np.argmax(y_test, axis=1), np.argmax(y_pred, axis=1))
recall = recall_score(np.argmax(y_test, axis=1), np.argmax(y_pred, axis=1))
f1 = f1_score(np.argmax(y_test, axis=1), np.argmax(y_pred, axis=1))
roc_auc = roc_auc_score(np.argmax(y_test, axis=1), np.argmax(y_pred, axis=1))
# Imprimir los resultados
print("\nAccuracy:", accuracy)
print("Recall:", recall)
print("F1 Score:", f1)
print("AUC-ROC Score:", roc_auc)
1781/1781 [==============================] - 7s 4ms/step
Accuracy: 0.9992802219023208 Recall: 0.7551020408163265 F1 Score: 0.783068783068783 AUC-ROC Score: 0.8774015409483996
smote = SMOTE()
X_resampled, y_resampled = smote.fit_resample(X,y)
print('Original dataset shape:', len(X))
print('Resampled dataset shape:', len(X_resampled))
counts = y_resampled['Class'].value_counts()
print(counts)
X_train, X_test, y_train, y_test = train_test_split(X_resampled, to_categorical(y_resampled), test_size=0.2, random_state=24)
Original dataset shape: 284807 Resampled dataset shape: 568630 0 284315 1 284315 Name: Class, dtype: int64
from keras.models import Sequential
from keras.layers import Dense
# Definir el modelo
model = Sequential()
model.add(Dense(20, input_dim=X.shape[1], activation='relu'))
model.add(Dense(20, activation='relu'))
model.add(Dense(20, activation='relu'))
model.add(Dense(20, activation='relu'))
model.add(Dense(2, activation='sigmoid'))
# Compilar el modelo
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# Entrenar el modelo
history = model.fit(X_train, y_train, epochs=EPOCHS, batch_size=BATCH_SIZE, validation_split=0.2, verbose=0)
#test using test set
_,acc = model.evaluate(X_test, y_test, verbose=0)
from sklearn.metrics import confusion_matrix, accuracy_score, recall_score, f1_score, roc_auc_score
y_pred = model.predict(X_test)
conf_matrix = confusion_matrix(np.argmax(y_test, axis=1), np.argmax(y_pred, axis=1))
# Crea un mapa de calor
sns.heatmap(conf_matrix, annot=True, fmt="d", cmap="Reds", cbar=False,
xticklabels=['Prediccion 0', 'Prediccion 1'],
yticklabels=['real 0', 'real 1'])
plt.title('Matriz de Confusión')
plt.xlabel('Predicción')
plt.ylabel('Realidad')
plt.show()
# Calcular métricas de evaluación
accuracy = accuracy_score(np.argmax(y_test, axis=1), np.argmax(y_pred, axis=1))
recall = recall_score(np.argmax(y_test, axis=1), np.argmax(y_pred, axis=1))
f1 = f1_score(np.argmax(y_test, axis=1), np.argmax(y_pred, axis=1))
roc_auc = roc_auc_score(np.argmax(y_test, axis=1), np.argmax(y_pred, axis=1))
# Imprimir los resultados
print("\nAccuracy:", accuracy)
print("Recall:", recall)
print("F1 Score:", f1)
print("AUC-ROC Score:", roc_auc)
3554/3554 [==============================] - 7s 2ms/step Accuracy: 0.9989800045723933 Recall: 0.9992076627812797 F1 Score: 0.9989789990670165 AUC-ROC Score: 0.9989802804878084
texto en negrita
En este caso, al aplicar la tecnica de SMOTE hemos mejorado el modelo considerablemente con una sensibilidad de 99% por lo que se puede decir que hemos encontrado el mejor modelo de clasificacion para nuestro juego de datos.
</div>
El ajuste de hiperparámetros es un proceso crucial en el entrenamiento de modelos de redes neuronales. Los hiperparámetros son configuraciones que no se aprenden automáticamente durante el entrenamiento, a diferencia de los pesos de las neuronas. En su lugar, debes ajustarlos manualmente para obtener un modelo óptimo.
Para realizar el ajuste de hiperparámetros en una red neuronal, sigue estos pasos:
Selecciona los hiperparámetros clave que deseas ajustar, como la tasa de aprendizaje, el número de capas ocultas, el número de neuronas en cada capa, la función de activación, etc.
Divide tus datos en conjuntos de entrenamiento, validación y prueba. El conjunto de validación se utiliza para evaluar el rendimiento de diferentes configuraciones de hiperparámetros.
Entrena tu modelo de red neuronal utilizando diferentes combinaciones de hiperparámetros en el conjunto de entrenamiento.
Evalúa el rendimiento del modelo en el conjunto de validación para cada conjunto de hiperparámetros.
Ajusta los hiperparámetros en función de los resultados en el conjunto de validación. Puedes utilizar técnicas como la búsqueda en cuadrícula o la optimización bayesiana para encontrar la mejor combinación de hiperparámetros.
Una vez que hayas encontrado los mejores hiperparámetros en el conjunto de validación, evalúa el rendimiento final del modelo en el conjunto de prueba para asegurarte de que generalice bien a datos no vistos.
Recuerda que el ajuste de hiperparámetros es un proceso iterativo y puede llevar tiempo, pero es esencial para obtener un modelo de redes neuronales con un buen rendimiento en tareas de data science. ¡Manos a la obra!
from scikeras.wrappers import KerasClassifier
from sklearn.model_selection import GridSearchCV
from keras.models import Sequential
from keras.layers import Dense
# Función para crear el modelo, asegurándose de que los nombres de los parámetros coincidan
def create_model(neurons=64, optimizer='adam', layers=1):
model = Sequential()
model.add(Dense(neurons, input_dim=X_train.shape[1], activation='relu'))
for _ in range(layers - 1): # Añade las capas ocultas según el parámetro 'layers'
model.add(Dense(neurons, activation='relu'))
model.add(Dense(1, activation='sigmoid')) # Solo se necesita una salida para la clasificación binaria
model.compile(loss='binary_crossentropy', optimizer=optimizer, metrics=['accuracy'])
return model
# Crear un objeto KerasClassifier
model = KerasClassifier(model=create_model, epochs=10, batch_size=50)
# Definir los hiperparámetros a ajustar
params = {
'model__neurons': [20, 30, 40, 50],
'model__optimizer': ['adam','sgd','rmsprop'],
'model__layers': [1, 2, 3, 4]
}
y_train_indices = np.argmax(y_train, axis=1)
# Realizar la búsqueda de los mejores hiperparámetros
grid = GridSearchCV(estimator=model, param_grid=params, cv=3)
grid_result = grid.fit(X_train, y_train_indices)
# Mostrar los resultados
print("Mejor resultado de la validación cruzada: %f usando %s" % (grid_result.best_score_, grid_result.best_params_))
Epoch 1/10
3038/3038 [==============================] - 14s 2ms/step - loss: 0.0291 - accuracy: 0.9950
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0039 - accuracy: 0.9993
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0034 - accuracy: 0.9993
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0032 - accuracy: 0.9993
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0030 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0028 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0026 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0025 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0024 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0023 - accuracy: 0.9994
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0247 - accuracy: 0.9964
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0030 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0027 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0024 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0022 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0018 - accuracy: 0.9996
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0018 - accuracy: 0.9996
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0191 - accuracy: 0.9980
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0034 - accuracy: 0.9993
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0029 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0027 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0025 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0024 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0022 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0020 - accuracy: 0.9995
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0509 - accuracy: 0.9940
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0092 - accuracy: 0.9987
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0066 - accuracy: 0.9989
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0056 - accuracy: 0.9991
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0051 - accuracy: 0.9991
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0047 - accuracy: 0.9991
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0045 - accuracy: 0.9991
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0043 - accuracy: 0.9992
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0041 - accuracy: 0.9992
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0040 - accuracy: 0.9992
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0626 - accuracy: 0.9904
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0100 - accuracy: 0.9989
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0070 - accuracy: 0.9991
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0058 - accuracy: 0.9992
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0052 - accuracy: 0.9992
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0048 - accuracy: 0.9992
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0045 - accuracy: 0.9993
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0043 - accuracy: 0.9993
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0041 - accuracy: 0.9993
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0039 - accuracy: 0.9993
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0580 - accuracy: 0.9872
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0085 - accuracy: 0.9990
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0062 - accuracy: 0.9991
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0052 - accuracy: 0.9992
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0047 - accuracy: 0.9992
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0044 - accuracy: 0.9992
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0041 - accuracy: 0.9992
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0040 - accuracy: 0.9993
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0038 - accuracy: 0.9993
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0037 - accuracy: 0.9993
1519/1519 [==============================] - 2s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0147 - accuracy: 0.9985
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0050 - accuracy: 0.9993
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0046 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0045 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0044 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0043 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0039 - accuracy: 0.9994
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0174 - accuracy: 0.9977
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0050 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0048 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0050 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0048 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0047 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0046 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0047 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0047 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0049 - accuracy: 0.9994
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0182 - accuracy: 0.9976
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0049 - accuracy: 0.9993
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0046 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0043 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0043 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0042 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0042 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0039 - accuracy: 0.9994
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0293 - accuracy: 0.9929
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0033 - accuracy: 0.9993
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0030 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0028 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0026 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0024 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0023 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0022 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0022 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0020 - accuracy: 0.9995
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0302 - accuracy: 0.9925
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0031 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0028 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0025 - accuracy: 0.9995
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0024 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0022 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0020 - accuracy: 0.9996
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0020 - accuracy: 0.9996
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0019 - accuracy: 0.9996
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0276 - accuracy: 0.9954
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0032 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0030 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0027 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0025 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0024 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0023 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0020 - accuracy: 0.9995
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0413 - accuracy: 0.9967
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0086 - accuracy: 0.9990
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0063 - accuracy: 0.9992
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0053 - accuracy: 0.9992
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0048 - accuracy: 0.9993
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0044 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0042 - accuracy: 0.9993
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0040 - accuracy: 0.9993
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0038 - accuracy: 0.9993
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0037 - accuracy: 0.9993
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0487 - accuracy: 0.9967
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0088 - accuracy: 0.9991
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0059 - accuracy: 0.9992
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0049 - accuracy: 0.9993
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0044 - accuracy: 0.9993
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0041 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0040 - accuracy: 0.9993
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0038 - accuracy: 0.9993
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0037 - accuracy: 0.9993
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0036 - accuracy: 0.9993
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0479 - accuracy: 0.9941
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0087 - accuracy: 0.9989
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0062 - accuracy: 0.9990
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0052 - accuracy: 0.9991
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0047 - accuracy: 0.9992
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0044 - accuracy: 0.9992
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0042 - accuracy: 0.9992
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0040 - accuracy: 0.9992
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0039 - accuracy: 0.9993
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0038 - accuracy: 0.9993
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0201 - accuracy: 0.9964
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0050 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0049 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0050 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0049 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0049 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0049 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0049 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0049 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0048 - accuracy: 0.9994
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0152 - accuracy: 0.9987
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0046 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0046 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0045 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0047 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0046 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0046 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0045 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0049 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0048 - accuracy: 0.9994
1519/1519 [==============================] - 2s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0255 - accuracy: 0.9934
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0053 - accuracy: 0.9993
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0053 - accuracy: 0.9993
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0055 - accuracy: 0.9993
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0054 - accuracy: 0.9993
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0056 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0056 - accuracy: 0.9993
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0056 - accuracy: 0.9993
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0058 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0060 - accuracy: 0.9993
1519/1519 [==============================] - 2s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0157 - accuracy: 0.9982
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0032 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0029 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0026 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0025 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0023 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0022 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0019 - accuracy: 0.9995
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0244 - accuracy: 0.9958
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0030 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0027 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0025 - accuracy: 0.9995
Epoch 5/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0022 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 19s 6ms/step - loss: 0.0022 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 14s 5ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0018 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0018 - accuracy: 0.9996
Epoch 10/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0017 - accuracy: 0.9996
1519/1519 [==============================] - 4s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0178 - accuracy: 0.9984
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0032 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0027 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0025 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0024 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0022 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0019 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0019 - accuracy: 0.9996
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0548 - accuracy: 0.9911
Epoch 2/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0092 - accuracy: 0.9988
Epoch 3/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0065 - accuracy: 0.9990
Epoch 4/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0054 - accuracy: 0.9992
Epoch 5/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0048 - accuracy: 0.9992
Epoch 6/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0044 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0041 - accuracy: 0.9992
Epoch 8/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0039 - accuracy: 0.9993
Epoch 9/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0038 - accuracy: 0.9993
Epoch 10/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0036 - accuracy: 0.9993
1519/1519 [==============================] - 5s 3ms/step
Epoch 1/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0485 - accuracy: 0.9929
Epoch 2/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0088 - accuracy: 0.9991
Epoch 3/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0063 - accuracy: 0.9992
Epoch 4/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0053 - accuracy: 0.9993
Epoch 5/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0047 - accuracy: 0.9993
Epoch 6/10
3038/3038 [==============================] - 17s 6ms/step - loss: 0.0043 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 15s 5ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0038 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0037 - accuracy: 0.9993
Epoch 10/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0036 - accuracy: 0.9994
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0470 - accuracy: 0.9958
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0090 - accuracy: 0.9988
Epoch 3/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0065 - accuracy: 0.9991
Epoch 4/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0055 - accuracy: 0.9991
Epoch 5/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0048 - accuracy: 0.9992
Epoch 6/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0044 - accuracy: 0.9992
Epoch 7/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0041 - accuracy: 0.9993
Epoch 8/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0039 - accuracy: 0.9992
Epoch 9/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0038 - accuracy: 0.9992
Epoch 10/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0036 - accuracy: 0.9993
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0196 - accuracy: 0.9964
Epoch 2/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0048 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 14s 5ms/step - loss: 0.0045 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0046 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0045 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0044 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0043 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0042 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0042 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0041 - accuracy: 0.9994
1519/1519 [==============================] - 4s 3ms/step
Epoch 1/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0179 - accuracy: 0.9975
Epoch 2/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0045 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0043 - accuracy: 0.9995
Epoch 4/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0044 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0046 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0046 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0045 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0046 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0043 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0042 - accuracy: 0.9994
1519/1519 [==============================] - 4s 3ms/step
Epoch 1/10
3038/3038 [==============================] - 12s 3ms/step - loss: 0.0136 - accuracy: 0.9989
Epoch 2/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0048 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0047 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0047 - accuracy: 0.9993
Epoch 5/10
3038/3038 [==============================] - 14s 5ms/step - loss: 0.0045 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 16s 5ms/step - loss: 0.0046 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 14s 5ms/step - loss: 0.0045 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0045 - accuracy: 0.9993
Epoch 9/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0045 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0046 - accuracy: 0.9994
1519/1519 [==============================] - 4s 3ms/step
Epoch 1/10
3038/3038 [==============================] - 14s 4ms/step - loss: 0.0241 - accuracy: 0.9956
Epoch 2/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0029 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 11s 3ms/step - loss: 0.0027 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 11s 3ms/step - loss: 0.0025 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0022 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0019 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0019 - accuracy: 0.9995
1519/1519 [==============================] - 6s 4ms/step
Epoch 1/10
3038/3038 [==============================] - 14s 4ms/step - loss: 0.0184 - accuracy: 0.9975
Epoch 2/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0029 - accuracy: 0.9995
Epoch 3/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0027 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0024 - accuracy: 0.9995
Epoch 5/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0022 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0022 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0019 - accuracy: 0.9996
Epoch 8/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0018 - accuracy: 0.9996
Epoch 9/10
3038/3038 [==============================] - 14s 5ms/step - loss: 0.0018 - accuracy: 0.9996
Epoch 10/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0016 - accuracy: 0.9996
1519/1519 [==============================] - 5s 3ms/step
Epoch 1/10
3038/3038 [==============================] - 11s 3ms/step - loss: 0.0283 - accuracy: 0.9927
Epoch 2/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0031 - accuracy: 0.9993
Epoch 3/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0027 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0025 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0022 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0021 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0021 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0018 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0017 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0016 - accuracy: 0.9995
1519/1519 [==============================] - 4s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 12s 3ms/step - loss: 0.0374 - accuracy: 0.9978
Epoch 2/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0084 - accuracy: 0.9989
Epoch 3/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0063 - accuracy: 0.9991
Epoch 4/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0054 - accuracy: 0.9992
Epoch 5/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0048 - accuracy: 0.9992
Epoch 6/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0044 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0042 - accuracy: 0.9993
Epoch 8/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0040 - accuracy: 0.9993
Epoch 9/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0038 - accuracy: 0.9993
Epoch 10/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0037 - accuracy: 0.9993
1519/1519 [==============================] - 5s 4ms/step
Epoch 1/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0389 - accuracy: 0.9964
Epoch 2/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0081 - accuracy: 0.9991
Epoch 3/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0058 - accuracy: 0.9993
Epoch 4/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0048 - accuracy: 0.9993
Epoch 5/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0044 - accuracy: 0.9993
Epoch 6/10
3038/3038 [==============================] - 21s 7ms/step - loss: 0.0041 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 11s 3ms/step - loss: 0.0039 - accuracy: 0.9993
Epoch 8/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0036 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0035 - accuracy: 0.9994
1519/1519 [==============================] - 4s 3ms/step
Epoch 1/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0412 - accuracy: 0.9946
Epoch 2/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0081 - accuracy: 0.9990
Epoch 3/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0060 - accuracy: 0.9992
Epoch 4/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0051 - accuracy: 0.9992
Epoch 5/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0046 - accuracy: 0.9993
Epoch 6/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0042 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0040 - accuracy: 0.9993
Epoch 8/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0038 - accuracy: 0.9993
Epoch 9/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0037 - accuracy: 0.9993
Epoch 10/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0036 - accuracy: 0.9993
1519/1519 [==============================] - 5s 3ms/step
Epoch 1/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0148 - accuracy: 0.9986
Epoch 2/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0048 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0044 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0047 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0046 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0048 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0049 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0047 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0048 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0045 - accuracy: 0.9994
1519/1519 [==============================] - 5s 3ms/step
Epoch 1/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0178 - accuracy: 0.9972
Epoch 2/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0044 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0043 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0042 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0043 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0045 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0044 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0044 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0047 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0045 - accuracy: 0.9995
1519/1519 [==============================] - 4s 3ms/step
Epoch 1/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0145 - accuracy: 0.9983
Epoch 2/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 11s 3ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0042 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0043 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0043 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0043 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0044 - accuracy: 0.9994
1519/1519 [==============================] - 5s 3ms/step
Epoch 1/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0166 - accuracy: 0.9970
Epoch 2/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0031 - accuracy: 0.9993
Epoch 4/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0029 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0027 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0025 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0024 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0022 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0022 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0021 - accuracy: 0.9994
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0222 - accuracy: 0.9939
Epoch 2/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0031 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0028 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0026 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0023 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0022 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0019 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0017 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0016 - accuracy: 0.9996
1519/1519 [==============================] - 5s 3ms/step
Epoch 1/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0179 - accuracy: 0.9952
Epoch 2/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0030 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0027 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0024 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0023 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0019 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0018 - accuracy: 0.9996
Epoch 10/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0017 - accuracy: 0.9995
1519/1519 [==============================] - 4s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 12s 3ms/step - loss: 0.0373 - accuracy: 0.9971
Epoch 2/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0083 - accuracy: 0.9987
Epoch 3/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0062 - accuracy: 0.9990
Epoch 4/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0053 - accuracy: 0.9991
Epoch 5/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0047 - accuracy: 0.9992
Epoch 6/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0044 - accuracy: 0.9992
Epoch 7/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0041 - accuracy: 0.9993
Epoch 8/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0039 - accuracy: 0.9993
Epoch 9/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0038 - accuracy: 0.9993
Epoch 10/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0037 - accuracy: 0.9993
1519/1519 [==============================] - 5s 3ms/step
Epoch 1/10
3038/3038 [==============================] - 11s 3ms/step - loss: 0.0362 - accuracy: 0.9952
Epoch 2/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0069 - accuracy: 0.9989
Epoch 3/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0051 - accuracy: 0.9992
Epoch 4/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0045 - accuracy: 0.9992
Epoch 5/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0042 - accuracy: 0.9992
Epoch 6/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0040 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0038 - accuracy: 0.9993
Epoch 8/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0037 - accuracy: 0.9993
Epoch 9/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0036 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0035 - accuracy: 0.9993
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 9s 2ms/step - loss: 0.0397 - accuracy: 0.9957
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0109 - accuracy: 0.9983
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0087 - accuracy: 0.9983
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0077 - accuracy: 0.9983
Epoch 5/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0070 - accuracy: 0.9983
Epoch 6/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0062 - accuracy: 0.9983
Epoch 7/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0051 - accuracy: 0.9986
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0045 - accuracy: 0.9988
Epoch 9/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0042 - accuracy: 0.9991
Epoch 10/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0039 - accuracy: 0.9992
1519/1519 [==============================] - 2s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0112 - accuracy: 0.9991
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0050 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0048 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0044 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0044 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0043 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0042 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0043 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0043 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0042 - accuracy: 0.9994
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 9s 2ms/step - loss: 0.0168 - accuracy: 0.9984
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0047 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0043 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0042 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0038 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0039 - accuracy: 0.9995
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0128 - accuracy: 0.9988
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0050 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0046 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0044 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0045 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0042 - accuracy: 0.9993
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0038 - accuracy: 0.9994
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0109 - accuracy: 0.9991
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0032 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0028 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0025 - accuracy: 0.9995
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0023 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0023 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0018 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0018 - accuracy: 0.9995
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0106 - accuracy: 0.9990
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0029 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0026 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0023 - accuracy: 0.9995
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0018 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0017 - accuracy: 0.9996
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0016 - accuracy: 0.9996
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0017 - accuracy: 0.9996
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0102 - accuracy: 0.9986
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0031 - accuracy: 0.9993
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0027 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0024 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0019 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0018 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0016 - accuracy: 0.9996
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0016 - accuracy: 0.9996
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0015 - accuracy: 0.9996
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0390 - accuracy: 0.9958
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0065 - accuracy: 0.9992
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0051 - accuracy: 0.9993
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0044 - accuracy: 0.9993
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0041 - accuracy: 0.9993
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0038 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0037 - accuracy: 0.9993
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0035 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0034 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0033 - accuracy: 0.9994
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0334 - accuracy: 0.9978
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0093 - accuracy: 0.9984
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0062 - accuracy: 0.9989
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0049 - accuracy: 0.9992
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0042 - accuracy: 0.9993
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0038 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0036 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0035 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0032 - accuracy: 0.9994
1519/1519 [==============================] - 2s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0380 - accuracy: 0.9958
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0079 - accuracy: 0.9987
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0058 - accuracy: 0.9991
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0049 - accuracy: 0.9992
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0043 - accuracy: 0.9993
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0040 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0038 - accuracy: 0.9993
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0036 - accuracy: 0.9993
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0035 - accuracy: 0.9993
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0034 - accuracy: 0.9993
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0099 - accuracy: 0.9991
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0046 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0042 - accuracy: 0.9993
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0036 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0036 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0037 - accuracy: 0.9994
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 16s 2ms/step - loss: 0.0110 - accuracy: 0.9989
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0041 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0039 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0041 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0038 - accuracy: 0.9995
1519/1519 [==============================] - 2s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0114 - accuracy: 0.9986
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0045 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0042 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0035 - accuracy: 0.9994
1519/1519 [==============================] - 2s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0158 - accuracy: 0.9950
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0029 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0025 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0024 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0019 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0018 - accuracy: 0.9996
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0016 - accuracy: 0.9996
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0016 - accuracy: 0.9996
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0131 - accuracy: 0.9973
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0028 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0026 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0023 - accuracy: 0.9995
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0019 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0017 - accuracy: 0.9996
Epoch 8/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0016 - accuracy: 0.9996
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0015 - accuracy: 0.9996
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0014 - accuracy: 0.9996
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0104 - accuracy: 0.9985
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0030 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0028 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0024 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0022 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0018 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0017 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0018 - accuracy: 0.9996
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0015 - accuracy: 0.9996
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0356 - accuracy: 0.9976
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0082 - accuracy: 0.9988
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0058 - accuracy: 0.9991
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0048 - accuracy: 0.9992
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0043 - accuracy: 0.9993
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0039 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0036 - accuracy: 0.9993
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0035 - accuracy: 0.9993
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0034 - accuracy: 0.9993
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0033 - accuracy: 0.9993
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0366 - accuracy: 0.9979
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0073 - accuracy: 0.9989
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0049 - accuracy: 0.9992
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0042 - accuracy: 0.9993
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0035 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0034 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0032 - accuracy: 0.9994
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0425 - accuracy: 0.9961
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0076 - accuracy: 0.9985
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0051 - accuracy: 0.9989
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0044 - accuracy: 0.9992
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0041 - accuracy: 0.9993
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0038 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0035 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0034 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0034 - accuracy: 0.9994
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0126 - accuracy: 0.9977
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0044 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0040 - accuracy: 0.9993
Epoch 5/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0036 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0036 - accuracy: 0.9994
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0099 - accuracy: 0.9992
Epoch 2/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0042 - accuracy: 0.9995
Epoch 3/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0041 - accuracy: 0.9995
Epoch 4/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0041 - accuracy: 0.9995
Epoch 5/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0040 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0041 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0039 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0036 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0036 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0038 - accuracy: 0.9995
1519/1519 [==============================] - 4s 3ms/step
Epoch 1/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0116 - accuracy: 0.9988
Epoch 2/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0042 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0039 - accuracy: 0.9993
Epoch 8/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0038 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0039 - accuracy: 0.9994
1519/1519 [==============================] - 4s 3ms/step
Epoch 1/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0090 - accuracy: 0.9990
Epoch 2/10
3038/3038 [==============================] - 16s 5ms/step - loss: 0.0031 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 15s 5ms/step - loss: 0.0027 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0023 - accuracy: 0.9995
Epoch 5/10
3038/3038 [==============================] - 14s 5ms/step - loss: 0.0022 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0019 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0017 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0016 - accuracy: 0.9996
Epoch 10/10
3038/3038 [==============================] - 14s 4ms/step - loss: 0.0015 - accuracy: 0.9995
1519/1519 [==============================] - 5s 3ms/step
Epoch 1/10
3038/3038 [==============================] - 11s 3ms/step - loss: 0.0108 - accuracy: 0.9977
Epoch 2/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0029 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 14s 5ms/step - loss: 0.0026 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0023 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0019 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0017 - accuracy: 0.9996
Epoch 8/10
3038/3038 [==============================] - 14s 5ms/step - loss: 0.0016 - accuracy: 0.9996
Epoch 9/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0014 - accuracy: 0.9996
Epoch 10/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0015 - accuracy: 0.9996
1519/1519 [==============================] - 4s 3ms/step
Epoch 1/10
3038/3038 [==============================] - 16s 5ms/step - loss: 0.0071 - accuracy: 0.9992
Epoch 2/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0030 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0026 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 15s 5ms/step - loss: 0.0024 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 16s 5ms/step - loss: 0.0022 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 14s 5ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0018 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0017 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0015 - accuracy: 0.9996
Epoch 10/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0015 - accuracy: 0.9996
1519/1519 [==============================] - 4s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 15s 4ms/step - loss: 0.0387 - accuracy: 0.9948
Epoch 2/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0076 - accuracy: 0.9989
Epoch 3/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0059 - accuracy: 0.9992
Epoch 4/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0051 - accuracy: 0.9992
Epoch 5/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0045 - accuracy: 0.9993
Epoch 6/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0041 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0036 - accuracy: 0.9993
Epoch 10/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0035 - accuracy: 0.9994
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0333 - accuracy: 0.9958
Epoch 2/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0063 - accuracy: 0.9992
Epoch 3/10
3038/3038 [==============================] - 15s 5ms/step - loss: 0.0046 - accuracy: 0.9993
Epoch 4/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0040 - accuracy: 0.9993
Epoch 5/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0035 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0032 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 17s 6ms/step - loss: 0.0031 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 17s 6ms/step - loss: 0.0030 - accuracy: 0.9994
1519/1519 [==============================] - 4s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 15s 5ms/step - loss: 0.0327 - accuracy: 0.9964
Epoch 2/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0066 - accuracy: 0.9991
Epoch 3/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0051 - accuracy: 0.9993
Epoch 4/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0044 - accuracy: 0.9993
Epoch 5/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0035 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0032 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0031 - accuracy: 0.9994
1519/1519 [==============================] - 5s 3ms/step
Epoch 1/10
3038/3038 [==============================] - 15s 4ms/step - loss: 0.0087 - accuracy: 0.9992
Epoch 2/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0042 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 14s 5ms/step - loss: 0.0038 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0036 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0036 - accuracy: 0.9994
1519/1519 [==============================] - 4s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 17s 5ms/step - loss: 0.0092 - accuracy: 0.9989
Epoch 2/10
3038/3038 [==============================] - 14s 4ms/step - loss: 0.0039 - accuracy: 0.9995
Epoch 3/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0037 - accuracy: 0.9995
Epoch 4/10
3038/3038 [==============================] - 18s 6ms/step - loss: 0.0034 - accuracy: 0.9995
Epoch 5/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0035 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0033 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0033 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0030 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0032 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0032 - accuracy: 0.9995
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0092 - accuracy: 0.9989
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0042 - accuracy: 0.9993
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0035 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0034 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0035 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0032 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0034 - accuracy: 0.9994
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 9s 2ms/step - loss: 0.0147 - accuracy: 0.9989
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0035 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0030 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0027 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0025 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0023 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0019 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0017 - accuracy: 0.9995
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0129 - accuracy: 0.9989
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0031 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0027 - accuracy: 0.9995
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0025 - accuracy: 0.9995
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0023 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0022 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0020 - accuracy: 0.9996
Epoch 8/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0019 - accuracy: 0.9996
Epoch 9/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0019 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0017 - accuracy: 0.9996
1519/1519 [==============================] - 6s 3ms/step
Epoch 1/10
3038/3038 [==============================] - 13s 3ms/step - loss: 0.0148 - accuracy: 0.9986
Epoch 2/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0031 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0027 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0025 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 14s 5ms/step - loss: 0.0023 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 14s 5ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0018 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0017 - accuracy: 0.9996
Epoch 10/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0017 - accuracy: 0.9995
1519/1519 [==============================] - 4s 3ms/step
Epoch 1/10
3038/3038 [==============================] - 11s 3ms/step - loss: 0.0378 - accuracy: 0.9942
Epoch 2/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0066 - accuracy: 0.9989
Epoch 3/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0053 - accuracy: 0.9992
Epoch 4/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0047 - accuracy: 0.9993
Epoch 5/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0043 - accuracy: 0.9993
Epoch 6/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0040 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0038 - accuracy: 0.9993
Epoch 8/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0037 - accuracy: 0.9993
Epoch 9/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0036 - accuracy: 0.9993
Epoch 10/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0035 - accuracy: 0.9994
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0382 - accuracy: 0.9931
Epoch 2/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0062 - accuracy: 0.9989
Epoch 3/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0045 - accuracy: 0.9993
Epoch 4/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0036 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 11s 3ms/step - loss: 0.0035 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0034 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0032 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0032 - accuracy: 0.9994
1519/1519 [==============================] - 4s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 11s 3ms/step - loss: 0.0301 - accuracy: 0.9981
Epoch 2/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0060 - accuracy: 0.9987
Epoch 3/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0044 - accuracy: 0.9992
Epoch 4/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0039 - accuracy: 0.9993
Epoch 5/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0037 - accuracy: 0.9993
Epoch 6/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0036 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 14s 4ms/step - loss: 0.0035 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0034 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0032 - accuracy: 0.9994
1519/1519 [==============================] - 4s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0116 - accuracy: 0.9989
Epoch 2/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0050 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0046 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0045 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0043 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0044 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0042 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0042 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0041 - accuracy: 0.9994
1519/1519 [==============================] - 4s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 11s 3ms/step - loss: 0.0192 - accuracy: 0.9946
Epoch 2/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0044 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0039 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 14s 5ms/step - loss: 0.0038 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0038 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 11s 3ms/step - loss: 0.0038 - accuracy: 0.9994
1519/1519 [==============================] - 4s 3ms/step
Epoch 1/10
3038/3038 [==============================] - 9s 2ms/step - loss: 0.0122 - accuracy: 0.9990
Epoch 2/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0052 - accuracy: 0.9993
Epoch 3/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0046 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0043 - accuracy: 0.9993
Epoch 5/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0038 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0038 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0038 - accuracy: 0.9994
1519/1519 [==============================] - 4s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 12s 3ms/step - loss: 0.0126 - accuracy: 0.9979
Epoch 2/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0032 - accuracy: 0.9993
Epoch 3/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0028 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 14s 4ms/step - loss: 0.0026 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0023 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0019 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0019 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0016 - accuracy: 0.9996
Epoch 10/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0015 - accuracy: 0.9996
1519/1519 [==============================] - 4s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 12s 3ms/step - loss: 0.0105 - accuracy: 0.9985
Epoch 2/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0031 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0027 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0025 - accuracy: 0.9995
Epoch 5/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0022 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0019 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0018 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0016 - accuracy: 0.9996
Epoch 10/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0015 - accuracy: 0.9996
1519/1519 [==============================] - 4s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 12s 3ms/step - loss: 0.0180 - accuracy: 0.9935
Epoch 2/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0030 - accuracy: 0.9993
Epoch 3/10
3038/3038 [==============================] - 11s 3ms/step - loss: 0.0028 - accuracy: 0.9993
Epoch 4/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0025 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0023 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0021 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0019 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 12s 4ms/step - loss: 0.0018 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 15s 5ms/step - loss: 0.0016 - accuracy: 0.9995
1519/1519 [==============================] - 5s 3ms/step
Epoch 1/10
3038/3038 [==============================] - 12s 3ms/step - loss: 0.0331 - accuracy: 0.9977
Epoch 2/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0065 - accuracy: 0.9991
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0053 - accuracy: 0.9993
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0047 - accuracy: 0.9993
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0043 - accuracy: 0.9993
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0040 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0038 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0036 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0035 - accuracy: 0.9994
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0377 - accuracy: 0.9929
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0092 - accuracy: 0.9983
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0064 - accuracy: 0.9984
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0049 - accuracy: 0.9988
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0043 - accuracy: 0.9991
Epoch 6/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0040 - accuracy: 0.9992
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0038 - accuracy: 0.9993
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0036 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0035 - accuracy: 0.9994
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0249 - accuracy: 0.9982
Epoch 2/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0060 - accuracy: 0.9991
Epoch 3/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0048 - accuracy: 0.9992
Epoch 4/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0042 - accuracy: 0.9993
Epoch 5/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0038 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0036 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0034 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0032 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0031 - accuracy: 0.9994
1519/1519 [==============================] - 2s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 9s 2ms/step - loss: 0.0119 - accuracy: 0.9980
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0047 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0044 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0043 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0046 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0042 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0042 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0036 - accuracy: 0.9994
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0125 - accuracy: 0.9982
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0038 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0038 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0037 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0037 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0038 - accuracy: 0.9995
1519/1519 [==============================] - 4s 3ms/step
Epoch 1/10
3038/3038 [==============================] - 9s 2ms/step - loss: 0.0088 - accuracy: 0.9992
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0045 - accuracy: 0.9993
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0044 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0039 - accuracy: 0.9994
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 12s 3ms/step - loss: 0.0086 - accuracy: 0.9990
Epoch 2/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0030 - accuracy: 0.9993
Epoch 3/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0027 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0024 - accuracy: 0.9995
Epoch 5/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0024 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0019 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0016 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0017 - accuracy: 0.9995
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0078 - accuracy: 0.9992
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0030 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0024 - accuracy: 0.9995
Epoch 4/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0023 - accuracy: 0.9995
Epoch 5/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0018 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0017 - accuracy: 0.9996
Epoch 8/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0016 - accuracy: 0.9996
Epoch 9/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0015 - accuracy: 0.9996
Epoch 10/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0013 - accuracy: 0.9996
1519/1519 [==============================] - 2s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0096 - accuracy: 0.9985
Epoch 2/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0031 - accuracy: 0.9993
Epoch 3/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0027 - accuracy: 0.9993
Epoch 4/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0024 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0022 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0018 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0017 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0015 - accuracy: 0.9996
Epoch 10/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0016 - accuracy: 0.9995
1519/1519 [==============================] - 4s 3ms/step
Epoch 1/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0267 - accuracy: 0.9977
Epoch 2/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0055 - accuracy: 0.9992
Epoch 3/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0044 - accuracy: 0.9993
Epoch 4/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0038 - accuracy: 0.9993
Epoch 5/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0036 - accuracy: 0.9993
Epoch 6/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0034 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0032 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0031 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0031 - accuracy: 0.9994
1519/1519 [==============================] - 4s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0313 - accuracy: 0.9982
Epoch 2/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0060 - accuracy: 0.9990
Epoch 3/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0043 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0036 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0035 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0034 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0032 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0031 - accuracy: 0.9994
1519/1519 [==============================] - 4s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 11s 3ms/step - loss: 0.0292 - accuracy: 0.9971
Epoch 2/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0054 - accuracy: 0.9992
Epoch 3/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0045 - accuracy: 0.9993
Epoch 4/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0041 - accuracy: 0.9993
Epoch 5/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0039 - accuracy: 0.9993
Epoch 6/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0037 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0036 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0035 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0034 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0033 - accuracy: 0.9994
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0101 - accuracy: 0.9981
Epoch 2/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0044 - accuracy: 0.9993
Epoch 3/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 11s 4ms/step - loss: 0.0040 - accuracy: 0.9993
Epoch 5/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0036 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0038 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0036 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0035 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0035 - accuracy: 0.9994
1519/1519 [==============================] - 4s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 11s 3ms/step - loss: 0.0103 - accuracy: 0.9992
Epoch 2/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0044 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0038 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0037 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0034 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0035 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0033 - accuracy: 0.9995
1519/1519 [==============================] - 4s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 11s 3ms/step - loss: 0.0076 - accuracy: 0.9992
Epoch 2/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0044 - accuracy: 0.9993
Epoch 3/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0041 - accuracy: 0.9993
Epoch 4/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0041 - accuracy: 0.9993
Epoch 5/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0043 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0037 - accuracy: 0.9994
1519/1519 [==============================] - 4s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 12s 3ms/step - loss: 0.0093 - accuracy: 0.9983
Epoch 2/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0031 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0028 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0024 - accuracy: 0.9995
Epoch 5/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0023 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0018 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0016 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0014 - accuracy: 0.9996
Epoch 10/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0015 - accuracy: 0.9996
1519/1519 [==============================] - 4s 3ms/step
Epoch 1/10
3038/3038 [==============================] - 12s 3ms/step - loss: 0.0087 - accuracy: 0.9988
Epoch 2/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0029 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0025 - accuracy: 0.9995
Epoch 4/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0023 - accuracy: 0.9995
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0019 - accuracy: 0.9996
Epoch 7/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0017 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0015 - accuracy: 0.9996
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0014 - accuracy: 0.9996
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0014 - accuracy: 0.9996
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0080 - accuracy: 0.9986
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0032 - accuracy: 0.9993
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0027 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0025 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0022 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0018 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0017 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0016 - accuracy: 0.9995
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0318 - accuracy: 0.9951
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0060 - accuracy: 0.9990
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0045 - accuracy: 0.9993
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0036 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0034 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0032 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0031 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0030 - accuracy: 0.9994
1519/1519 [==============================] - 2s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0273 - accuracy: 0.9964
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0052 - accuracy: 0.9992
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0034 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0031 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0030 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0030 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0029 - accuracy: 0.9995
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0247 - accuracy: 0.9981
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0062 - accuracy: 0.9991
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0047 - accuracy: 0.9993
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0041 - accuracy: 0.9993
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0038 - accuracy: 0.9993
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0036 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0035 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0034 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0032 - accuracy: 0.9994
1519/1519 [==============================] - 2s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0087 - accuracy: 0.9990
Epoch 2/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0046 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0043 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0038 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0035 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0035 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0034 - accuracy: 0.9994
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0078 - accuracy: 0.9992
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0038 - accuracy: 0.9995
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0036 - accuracy: 0.9995
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0036 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0036 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0037 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0036 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0034 - accuracy: 0.9995
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0077 - accuracy: 0.9991
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0043 - accuracy: 0.9993
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0042 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0045 - accuracy: 0.9993
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0036 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0035 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0035 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0033 - accuracy: 0.9995
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 9s 2ms/step - loss: 0.0114 - accuracy: 0.9989
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0030 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0028 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0027 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0025 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0023 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0022 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0019 - accuracy: 0.9995
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0137 - accuracy: 0.9983
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0031 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0027 - accuracy: 0.9995
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0025 - accuracy: 0.9995
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0023 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0017 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0017 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0015 - accuracy: 0.9996
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 9s 2ms/step - loss: 0.0120 - accuracy: 0.9986
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0032 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0028 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0025 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0022 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0019 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0018 - accuracy: 0.9996
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0329 - accuracy: 0.9972
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0058 - accuracy: 0.9987
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0048 - accuracy: 0.9991
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0044 - accuracy: 0.9992
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0041 - accuracy: 0.9992
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0039 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0038 - accuracy: 0.9993
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0037 - accuracy: 0.9993
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0036 - accuracy: 0.9993
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0035 - accuracy: 0.9993
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0371 - accuracy: 0.9955
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0052 - accuracy: 0.9990
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0041 - accuracy: 0.9993
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0038 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0036 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0034 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0032 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0031 - accuracy: 0.9994
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0334 - accuracy: 0.9973
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0058 - accuracy: 0.9984
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0043 - accuracy: 0.9991
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0040 - accuracy: 0.9993
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0038 - accuracy: 0.9993
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0036 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0035 - accuracy: 0.9993
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0034 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0034 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0033 - accuracy: 0.9994
1519/1519 [==============================] - 2s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0124 - accuracy: 0.9983
Epoch 2/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0049 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0048 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0044 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0042 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0038 - accuracy: 0.9994
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0125 - accuracy: 0.9981
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0049 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0044 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0037 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0037 - accuracy: 0.9995
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0119 - accuracy: 0.9989
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0047 - accuracy: 0.9993
Epoch 3/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0044 - accuracy: 0.9993
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0045 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0042 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0042 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0042 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0040 - accuracy: 0.9994
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0097 - accuracy: 0.9987
Epoch 2/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0028 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0025 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0024 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0018 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0017 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0017 - accuracy: 0.9995
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 12s 3ms/step - loss: 0.0122 - accuracy: 0.9966
Epoch 2/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0030 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0026 - accuracy: 0.9995
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0024 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0022 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0018 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0016 - accuracy: 0.9996
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0016 - accuracy: 0.9996
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0015 - accuracy: 0.9996
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 9s 2ms/step - loss: 0.0107 - accuracy: 0.9987
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0032 - accuracy: 0.9993
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0028 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0024 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0022 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0021 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0019 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0022 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0018 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0015 - accuracy: 0.9996
1519/1519 [==============================] - 2s 1ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0278 - accuracy: 0.9960
Epoch 2/10
3038/3038 [==============================] - 10s 3ms/step - loss: 0.0060 - accuracy: 0.9991
Epoch 3/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0048 - accuracy: 0.9992
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0042 - accuracy: 0.9993
Epoch 5/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0038 - accuracy: 0.9993
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0036 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0035 - accuracy: 0.9993
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0034 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0032 - accuracy: 0.9994
1519/1519 [==============================] - 2s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0272 - accuracy: 0.9983
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0057 - accuracy: 0.9985
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0042 - accuracy: 0.9990
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0037 - accuracy: 0.9993
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0034 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0032 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0031 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0030 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0030 - accuracy: 0.9994
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0320 - accuracy: 0.9975
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0078 - accuracy: 0.9983
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0053 - accuracy: 0.9987
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0043 - accuracy: 0.9991
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0038 - accuracy: 0.9993
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0036 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0034 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0032 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0031 - accuracy: 0.9994
1519/1519 [==============================] - 2s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 9s 2ms/step - loss: 0.0095 - accuracy: 0.9989
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0048 - accuracy: 0.9993
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0045 - accuracy: 0.9993
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0042 - accuracy: 0.9993
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0037 - accuracy: 0.9995
1519/1519 [==============================] - 2s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0091 - accuracy: 0.9990
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0038 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0034 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0035 - accuracy: 0.9995
1519/1519 [==============================] - 2s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0108 - accuracy: 0.9987
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0042 - accuracy: 0.9993
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0039 - accuracy: 0.9993
Epoch 4/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0038 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0037 - accuracy: 0.9993
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0036 - accuracy: 0.9993
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0034 - accuracy: 0.9995
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 9s 2ms/step - loss: 0.0105 - accuracy: 0.9984
Epoch 2/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0028 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0026 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0024 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0018 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0016 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0016 - accuracy: 0.9996
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 9s 2ms/step - loss: 0.0102 - accuracy: 0.9979
Epoch 2/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0030 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0026 - accuracy: 0.9995
Epoch 4/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0023 - accuracy: 0.9995
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0019 - accuracy: 0.9996
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0017 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0016 - accuracy: 0.9996
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0016 - accuracy: 0.9996
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0014 - accuracy: 0.9996
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0090 - accuracy: 0.9990
Epoch 2/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0030 - accuracy: 0.9993
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0027 - accuracy: 0.9993
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0024 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0022 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0020 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0017 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0016 - accuracy: 0.9996
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0015 - accuracy: 0.9996
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0355 - accuracy: 0.9981
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0081 - accuracy: 0.9983
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0058 - accuracy: 0.9987
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0049 - accuracy: 0.9990
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0045 - accuracy: 0.9992
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0042 - accuracy: 0.9992
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0040 - accuracy: 0.9993
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0039 - accuracy: 0.9993
Epoch 9/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0037 - accuracy: 0.9993
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0036 - accuracy: 0.9993
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0309 - accuracy: 0.9976
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0054 - accuracy: 0.9992
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0045 - accuracy: 0.9993
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0041 - accuracy: 0.9993
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0038 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0035 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0034 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0033 - accuracy: 0.9995
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0274 - accuracy: 0.9962
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0051 - accuracy: 0.9992
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0042 - accuracy: 0.9993
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0035 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0034 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0032 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 6s 2ms/step - loss: 0.0031 - accuracy: 0.9994
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0085 - accuracy: 0.9992
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0048 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0044 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0043 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0043 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0045 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0042 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0035 - accuracy: 0.9994
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0081 - accuracy: 0.9991
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0038 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0038 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0036 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0037 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0035 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0036 - accuracy: 0.9995
1519/1519 [==============================] - 2s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0087 - accuracy: 0.9990
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0044 - accuracy: 0.9993
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0042 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0042 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0035 - accuracy: 0.9994
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 9s 2ms/step - loss: 0.0088 - accuracy: 0.9982
Epoch 2/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0034 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0029 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0027 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0024 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0019 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0017 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0016 - accuracy: 0.9995
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 9s 2ms/step - loss: 0.0087 - accuracy: 0.9991
Epoch 2/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0030 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0027 - accuracy: 0.9995
Epoch 4/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0025 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0021 - accuracy: 0.9995
Epoch 6/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0019 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0019 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0016 - accuracy: 0.9996
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0016 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0014 - accuracy: 0.9996
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 9s 2ms/step - loss: 0.0100 - accuracy: 0.9973
Epoch 2/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0031 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0028 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0024 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0021 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0018 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0018 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0016 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0017 - accuracy: 0.9995
1519/1519 [==============================] - 2s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0259 - accuracy: 0.9971
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0055 - accuracy: 0.9991
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0042 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0035 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 13s 4ms/step - loss: 0.0032 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0032 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0031 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0030 - accuracy: 0.9994
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0234 - accuracy: 0.9984
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0050 - accuracy: 0.9992
Epoch 3/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0042 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0038 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0035 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0034 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0033 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0032 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0031 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0030 - accuracy: 0.9995
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0325 - accuracy: 0.9963
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0049 - accuracy: 0.9992
Epoch 3/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0038 - accuracy: 0.9993
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0035 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0033 - accuracy: 0.9993
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0032 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0031 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0030 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0030 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0029 - accuracy: 0.9994
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0094 - accuracy: 0.9988
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0047 - accuracy: 0.9993
Epoch 3/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0044 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0038 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0038 - accuracy: 0.9994
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0038 - accuracy: 0.9994
Epoch 9/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0037 - accuracy: 0.9994
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0040 - accuracy: 0.9994
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0071 - accuracy: 0.9990
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0042 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0038 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0039 - accuracy: 0.9995
Epoch 5/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0039 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0036 - accuracy: 0.9995
Epoch 7/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0040 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0036 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0035 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0034 - accuracy: 0.9995
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
3038/3038 [==============================] - 9s 3ms/step - loss: 0.0080 - accuracy: 0.9991
Epoch 2/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 3/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0041 - accuracy: 0.9994
Epoch 4/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0040 - accuracy: 0.9994
Epoch 5/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0038 - accuracy: 0.9994
Epoch 6/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0036 - accuracy: 0.9994
Epoch 7/10
3038/3038 [==============================] - 7s 2ms/step - loss: 0.0036 - accuracy: 0.9995
Epoch 8/10
3038/3038 [==============================] - 8s 2ms/step - loss: 0.0035 - accuracy: 0.9995
Epoch 9/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0035 - accuracy: 0.9995
Epoch 10/10
3038/3038 [==============================] - 8s 3ms/step - loss: 0.0031 - accuracy: 0.9995
1519/1519 [==============================] - 3s 2ms/step
Epoch 1/10
4557/4557 [==============================] - 11s 2ms/step - loss: 0.0249 - accuracy: 0.9936
Epoch 2/10
4557/4557 [==============================] - 10s 2ms/step - loss: 0.0032 - accuracy: 0.9993
Epoch 3/10
4557/4557 [==============================] - 9s 2ms/step - loss: 0.0028 - accuracy: 0.9994
Epoch 4/10
4557/4557 [==============================] - 10s 2ms/step - loss: 0.0025 - accuracy: 0.9994
Epoch 5/10
4557/4557 [==============================] - 9s 2ms/step - loss: 0.0024 - accuracy: 0.9995
Epoch 6/10
4557/4557 [==============================] - 9s 2ms/step - loss: 0.0023 - accuracy: 0.9995
Epoch 7/10
4557/4557 [==============================] - 10s 2ms/step - loss: 0.0022 - accuracy: 0.9995
Epoch 8/10
4557/4557 [==============================] - 9s 2ms/step - loss: 0.0021 - accuracy: 0.9996
Epoch 9/10
4557/4557 [==============================] - 10s 2ms/step - loss: 0.0020 - accuracy: 0.9995
Epoch 10/10
4557/4557 [==============================] - 9s 2ms/step - loss: 0.0019 - accuracy: 0.9996
Mejor resultado de la validación cruzada: 0.999482 usando {'model__layers': 1, 'model__neurons': 30, 'model__optimizer': 'adam'}
from keras.models import Sequential
from keras.layers import Dense
# Definir el modelo
model = Sequential()
model.add(Dense(30, input_dim=X.shape[1], activation='relu'))
model.add(Dense(30, activation='relu'))
model.add(Dense(30, activation='relu'))
model.add(Dense(30, activation='relu'))
model.add(Dense(2, activation='sigmoid'))
# Compilar el modelo
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# Entrenar el modelo
history = model.fit(X_train, y_train, epochs=10, batch_size=50, validation_split=0.2, verbose=0)
#test using test set
_,acc = model.evaluate(X_test, y_test, verbose=0)
from sklearn.metrics import confusion_matrix, accuracy_score, recall_score, f1_score, roc_auc_score
y_pred = model.predict(X_test)
conf_matrix = confusion_matrix(np.argmax(y_test, axis=1), np.argmax(y_pred, axis=1))
# Crea un mapa de calor
sns.heatmap(conf_matrix, annot=True, fmt="d", cmap="Reds", cbar=False,
xticklabels=['Prediccion 0', 'Prediccion 1'],
yticklabels=['real 0', 'real 1'])
plt.title('Matriz de Confusión')
plt.xlabel('Predicción')
plt.ylabel('Realidad')
plt.show()
# Calcular métricas de evaluación
accuracy = accuracy_score(np.argmax(y_test, axis=1), np.argmax(y_pred, axis=1))
recall = recall_score(np.argmax(y_test, axis=1), np.argmax(y_pred, axis=1))
f1 = f1_score(np.argmax(y_test, axis=1), np.argmax(y_pred, axis=1))
roc_auc = roc_auc_score(np.argmax(y_test, axis=1), np.argmax(y_pred, axis=1))
# Imprimir los resultados
print("\nAccuracy:", accuracy)
print("Recall:", recall)
print("F1 Score:", f1)
print("AUC-ROC Score:", roc_auc)
1781/1781 [==============================] - 3s 1ms/step
Accuracy: 0.9991924440855307 Recall: 0.6326530612244898 F1 Score: 0.7294117647058823 AUC-ROC Score: 0.8162386015182663